创建新的 Func<> 时 Target 属性的值是多少?
我在具有基类 B 的类 A 的构造函数中创建这个 Func 对象。在 BI 中比较像这样的对象:
func.Target != 这个
这是真的..
而且我不明白为什么它不是假的..
谢谢
创建新的 Func<> 时 Target 属性的值是多少?
我在具有基类 B 的类 A 的构造函数中创建这个 Func 对象。在 BI 中比较像这样的对象:
func.Target != 这个
这是真的..
而且我不明白为什么它不是假的..
谢谢
也许这可以帮助:
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();
}
问题已修复。
我在函数 lambda 表达式中使用了一个局部变量。显然它应该是一个类变量..