0

创建新的 Func<> 时 Target 属性的值是多少?

我在具有基类 B 的类 A 的构造函数中创建这个 Func 对象。在 BI 中比较像这样的对象:

func.Target != 这个

这是真的..

而且我不明白为什么它不是假的..

谢谢

4

2 回答 2

1

也许这可以帮助:

    static void Main(string[] args)
    {
        Program p = new Program();
        p.MainImpl();
    }

    public void MainImpl() {
        Func<string> f = null;
        Program _this = this;
        f = () => { 
               Console.WriteLine(this == f.Target); 
               Console.WriteLine(this == _this); return null; 
        };
        //Prints "False True"
        f();
    }
于 2013-10-07T12:48:07.083 回答
0

问题已修复。

我在函数 lambda 表达式中使用了一个局部变量。显然它应该是一个类变量..

于 2013-10-07T12:59:16.453 回答