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

发布于 2024-08-24 21:11:46 字数 196 浏览 3 评论 0原文

我必须通过这样的操作来完成:

Action action = () => { ..// };
object o = action;

任何方法都可以做到这一点:

object o = () =>{};  //this doesn't compile

I have to do through Action like this:

Action action = () => { ..// };
object o = action;

any way to do this:

object o = () =>{};  //this doesn't compile

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

第七度阳光i 2024-08-31 21:11:46

怎么样:

object o = (Action) (() => { ... });

虽然我真的不知道为什么你首先要把它存储为一个对象......

What about:

object o = (Action) (() => { ... });

Though I don't really know why you'd want to store it as an object in the first place...

一花一树开 2024-08-31 21:11:46

嗯,委托是对象,但 lambda 不是。

这个 object o = (Action)(() => {}); 可以编译,但我不知道它看起来是否更好。

Weeeell, delegates are objects, but lambdas aren't.

This object o = (Action)(() => {}); will compile, but I don't know if it looks any better.

苏璃陌 2024-08-31 21:11:46

另一种选择,并没有什么不同:

object o = new Action(() => { });

Another option, not all that different:

object o = new Action(() => { });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文