嘿,我想知道是否可以将表达式转换为操作。我需要使用表达式来获取 lambda 表达式的详细信息,同时我需要使用不同的方法执行它。我需要仅使用单个参数(操作或表达式(来获取表达式和实际操作:顺便说一句,我需要这个来获取有关我做了什么样的断言的详细信息。ex(Assert.true, Assert.False(
public void otherMethod()
{
SomeMethod(() => Assert.Equals("Dog","Cat"));
}
public void SomeMethod(Expression<Action> neededAction) //or public void SomeMethod(Action neededAction)
{
//i need to run the neededAction and get the details whether what assert i did and the inputs i used for the assertion
}
所以基本上我需要运行操作,我需要获取它的方法信息。谢谢~
您需要
在表达式上调用Compile()
。
// Compile it.
var actualNeededAction = neededAction.Compile();
// Execute it.
actualNeededAction();