C# 如何将属性设置器链接到委托?
我想给一个委托一个属性设置器。这是怎么做到的C# 如何将属性设置器链接到委托?,c#,C#,我想给一个委托一个属性设置器。这是怎么做到的 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 =
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
还是我在想简单点
我相信你明白了
第三个在.NET 2.0中运行,其他的至少需要3.5:)试试这个:
ChangeCountDelegate dlg = v => a.Count = v;
C#不支持属性委托
如果需要,您可以按照Snake提到的方式使用匿名方法。这非常冗长,不是linq风格;-)我喜欢冗长:)优雅的编码。我相信你也可以选择第三个选项,即使在2.0版本中,也不必显式使用
new
。我喜欢通过多种方式实现所示目标的答案。。。很不错的!正如您所知,如果您使用的是.NET 3.5或更高版本,您真的不需要定义这个ChangeCountDelegate
<代码>操作是一样的。
ChangeCountDelegate dlg = v => a.Count = v;