c#:为对象的字段值更改时创建一个事件

Sin*_*tic 7 c# events object

嘿伙计们,有没有办法创建一个事件,当对象的属性/字段值发生变化时会触发该事件?例如,如果对象有一个名为的字段

private int number;
Run Code Online (Sandbox Code Playgroud)

并且用户执行一个更新该号码的操作,会触发一个事件来更新表单上的所有文本框以显示当前字段值?

编辑:抱歉,已为每个字段创建了属性

Tho*_*que 20

将它设为属性而不是字段,并INotifyPropertyChanged在您的类中实现:

class YourClass : INotifyPropertyChanged
{

    private int _number;
    public int Number
    {
        get { return _number; }
        private set
        {
            _number = value;
            OnPropertyChanged("Number");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
            handler(this, new PropertyChangedEventArgs(propertyName));
    }

}
Run Code Online (Sandbox Code Playgroud)

然后,您可以显式侦听PropertyChanged事件,或使用将自动处理它的数据绑定