在C#中,可以通过事件来实现属性的通知。在属性的setter方法中,可以触发相应的事件来通知属性值的改变。以下是一个简单的示例:
public class Person { private string name; // 定义属性 public string Name { get { return name; } set { if (name != value) { name = value; OnNameChanged(); } } } // 定义事件 public event EventHandler NameChanged; // 触发事件的方法 protected virtual void OnNameChanged() { EventHandler handler = NameChanged; if (handler != null) { handler(this, EventArgs.Empty); } } }
在上面的示例中,当属性Name
的值发生改变时,会调用OnNameChanged()
方法来触发NameChanged
事件。其他类可以订阅NameChanged
事件来获取属性值的改变通知。