如何将lambda表达式直接转换为对象?

Ben*_*nny 9 c# lambda object

我必须通过这样做:

Action action = () => { ..// };
object o = action;
Run Code Online (Sandbox Code Playgroud)

任何方式这样做:

object o = () =>{};  //this doesn't compile
Run Code Online (Sandbox Code Playgroud)

Spi*_*ike 9

Weeeell,代表是对象,但lambdas不是.

object o = (Action)(() => {});将编译,但我不知道它是否看起来更好.


Dea*_*ing 8

关于什么:

object o = (Action) (() => { ... });
Run Code Online (Sandbox Code Playgroud)

虽然我真的不知道为什么你想把它作为一个对象存储起来......


Dan*_*Tao 5

另一个选择,并不是所有都不同:

object o = new Action(() => { });
Run Code Online (Sandbox Code Playgroud)