我想给委托(delegate)人一个属性 setter 。这是怎么做到的?
class A {
private int count;
public int Count {
get { return count; }
set { count = value; }
}
}
A a = new A();
delegate void ChangeCountDelegate(int x);
ChangeCountDelegate dlg = ... ? // should call a.Count = x
最佳答案
ChangeCountDelegate dlg = (int x) => a.Count = x;
// or
ChangeCountDelegate dlg = x => a.Count = x;
// or
ChangeCountDelegate dlg = new ChangeCountDelegate(delegate(int x) { a.Count = x; } );
// or
ChangeCountDelegate dlg = new ChangeCountDelegate(int x => a.Count = x);
还是我想的太简单了? :)
我相信你明白了。
第三个在 .NET 2.0 中工作,其他至少需要 3.5 :)
关于c# - 如何将属性 setter 链接到委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2720889/