扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

C#涓璱notifypropertychanged鎬庝箞浣跨敤

扬州沐宇科技
2024-02-18 09:28:15
c#

鍦?C# 涓紝INotifyPropertyChanged 鏄竴涓帴鍙o紝鐢ㄤ簬閫氱煡缁戝畾婧愬璞$殑灞炴€у凡鏇存敼銆傞€氬父鎯呭喌涓嬶紝鎮ㄩ渶瑕佸疄鐜拌鎺ュ彛骞跺湪灞炴€ф洿鏀规椂瑙﹀彂 PropertyChanged 浜嬩欢銆備互涓嬫槸涓€涓畝鍗曠殑绀轰緥锛?/p>

using System;
using System.ComponentModel;

class Person : INotifyPropertyChanged
{
    private string name;

    public string Name
    {
        get { return name; }
        set
        {
            if (name != value)
            {
                name = value;
                OnPropertyChanged("Name");
            }
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

class Program
{
    static void Main()
    {
        Person person = new Person();
        person.PropertyChanged += (sender, e) =>
        {
            Console.WriteLine($"{e.PropertyName} has changed");
        };

        person.Name = "Alice";
    }
}

鍦ㄤ笂闈㈢殑绀轰緥涓紝Person 绫诲疄鐜颁簡 INotifyPropertyChanged 鎺ュ彛锛屽苟鍦?Name 灞炴€х殑 setter 涓皟鐢ㄤ簡 OnPropertyChanged 鏂规硶鏉ヨЕ鍙?PropertyChanged 浜嬩欢銆傚湪 Main 鏂规硶涓紝鎴戜滑璁㈤槄浜?PropertyChanged 浜嬩欢锛屽苟鍦ㄥ睘鎬ф洿鏀规椂杈撳嚭鐩稿簲鐨勪俊鎭€?/p>

甯屾湜杩欏彲浠ュ府鍔╂偍寮€濮嬩娇鐢?INotifyPropertyChanged 鎺ュ彛鍦?C# 涓疄鐜板睘鎬ф洿鏀归€氱煡銆?/p>

扫码添加客服微信