c# - 如何将属性 setter 链接到委托(delegate)?

标签 c#

我想给委托(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/

相关文章:

c# - Arquivo 制作意大利面的入口文件

c# - WCF 发布/订阅并使用回调向特定用户发送数据

c# - 使用 Iron Python 等待异步

c# - 使用 StreamReader 读取文件的最后一行后执行操作

c# - 表示具有相同名称的 n 层深度嵌套 XML 节点的最佳方式?

c# - 是否有进行冗长 boolean 值评估的原因?

c# - 上传文件时插入数据库

c# - 如何通过 Redis 服务器转换具有多种数据类型的 MemoryStream

javascript - Asp.net 将数据从代码隐藏传递到 Javascript 并调用数组

c# - Json.NET 隐式转换