【发布时间】:2010-10-13 12:57:25
【问题描述】:
如果可以使用 C# 编写类似于此 Javascript 的代码,我很感兴趣:
var v = (function()
{
return "some value";
})()
我能做到的最多是:
Func<string> vf = () =>
{
return "some value";
};
var v = vf();
但我想要这样的东西:
// Gives error CS0149: Method name expected
var v = (() =>
{
return "some value";
})();
有什么方法可以匿名调用函数吗?
【问题讨论】:
-
你能准确地说出你想对代码做什么吗?期望的输入和输出是什么?
-
@Ahmad:这个问题非常清楚和明确。
-
你能解释一下你为什么要这样做吗?当您可以简单地将匿名函数的主体放在那里并在代码运行时调用它时,为什么还要经历定义匿名函数和调用它的所有繁琐步骤?
-
@Eric Lippert:我在 ASP.NET 构造中以这种方式使用它。
-
@Alexander:很有趣。因此,您所做的实际上是在需要 expression 的上下文中使用一堆 statements。有没有什么方法可以运行语句而不必跳过这些圈子?
标签: c# anonymous-function