相关疑难解决方法(0)

在C#中由lambda创建的委托的生命周期是多少?

Lambdas很不错,因为它们提供简洁和局部性以及额外形式的封装.而不必编写只使用一次可以使用lambda的函数.

在想知道它们是如何工作的时候,我直觉地认为它们可能只创建过一次.这激发了我创建一个解决方案,该解决方案允许通过使用lambda作为其创建范围的标识符,将类成员的范围限制在私有范围之外.

这种实现虽然可能有些过分(仍在研究它),但可以证明我的假设是正确的.

一个较小的例子:

class SomeClass
{
    public void Bleh()
    {
        Action action = () => {};
    }

    public void CallBleh()
    {
        Bleh();  // `action` == {Method = {Void <SomeClass>b__0()}}
        Bleh();  // `action` still == {Method = {Void <SomeClass>b__0()}}
    }
}
Run Code Online (Sandbox Code Playgroud)

lambda会返回一个新实例,还是保证总是相同?

c# lambda delegates

43
推荐指数
2
解决办法
2276
查看次数

标签 统计

c# ×1

delegates ×1

lambda ×1