如何设置此属性的值public Expression <action <controller>&gt;行动{get;组; } </动作<控制器>

时间:2010-01-29 13:46:07

标签: c# expression-trees

我有一个具有此属性的类

public Expression<Action<Controller>> Action { get; set; }

如何设置它的值 例如:

var x = new MyClass{
Action = What_To_Write_here
}

2 个答案:

答案 0 :(得分:3)

与简单Action<Controller>

相同
var x = new MyClass{
Action = controller => controller.DoSomething()
}

答案 1 :(得分:1)

为了扩展Yurec的答案,lambdas为委托和表达式提供语法支持。编译器通常能够根据上下文推断出需要哪个。 (正如Yurec所说,你就是这种情况。)因此,分配给某个委托的lambda可以分配给包含相同委托类型的表达式。