c#

C# property 如何实现通知

小樊
100
2024-07-15 16:50:42
栏目: 编程语言

在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事件来获取属性值的改变通知。

0
看了该问题的人还看了