1

嘿,我想知道我是否可以将表达式转换为动作。我需要使用表达式来获取 lambda 表达式的详细信息,同时我需要使用不同的方法执行它。我需要仅使用单个参数(操作或表达式)来获取表达式和实际操作:顺便说一句,我需要这个来获取有关我做了哪种断言的详细信息。前(断言。真,断言。假)

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

    }

所以基本上我需要运行动作并且我需要获取它的方法信息。谢谢~

4

1 回答 1

1

您需要调用Compile()表达式。

// Compile it.
var actualNeededAction = neededAction.Compile();

// Execute it.
actualNeededAction();
于 2014-12-17T05:36:57.187 回答