• 欢迎光临~

C# INotifyPropertyChanged Small Demo

开发技术 开发技术 2022-11-25 次浏览

public class PChangeTest:INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string propName)
        {
            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
        }
        private int _num;
        public int Num
        {
            get { return _num; }
            set
            {
                this._num = value;
                OnPropertyChanged("Num");

            }
        }
        private string _name;
        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                OnPropertyChanged("Name");
            }
        }
    }

class Program
{
    public static void DealEventA(object sender, PropertyChangedEventArgs e)
        {
            Console.WriteLine($"Property {e.PropertyName} is changed!");
            Console.WriteLine("This is Called in DealEventA");
        }
        public static void DealEventB(object sender, PropertyChangedEventArgs e)
        {
            Console.WriteLine($"Again,I notice Property {e.PropertyName} is changed!");
            Console.WriteLine("This is Called in DealEventB");
        }
        static void Main()
        {
            PChangeTest pc = new PChangeTest();
            pc.PropertyChanged += DealEventA;
            pc.PropertyChanged += DealEventB;
            pc.Num = 3;
            pc.Name = "JohnYang";
         }
}

output:

Property Num is changed!
This is Called in DealEventA
Again,I notice Property Num is changed!
This is Called in DealEventB
Property Name is changed!
This is Called in DealEventA
Again,I notice Property Name is changed!
This is Called in DealEventB
程序员灯塔
转载请注明原文链接:C# INotifyPropertyChanged Small Demo
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com