创建新Func<>时Target属性的价值是什么?
我在A类的构造函数中创建这个Func对象,它具有基类B. 在B中我比较这样的对象:
func.Target!= this
这是真的..
我不明白为什么它不是假的。
感谢
答案 0 :(得分: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();
}
答案 1 :(得分:0)
问题已修复。
我在函数lambda表达式中使用了局部变量。它显然应该是一个变量..