티스토리 뷰

C# Programming

C# PropertyChanged 예제

indieloper 2022. 10. 10. 11:49
    class Hoga : INotifyPropertyChanged
    {
        private long _mesu;
        private long _medo;
        public event PropertyChangedEventHandler PropertyChanged;

        public Hoga(long mesu, long medo)
        {
            Mesu = mesu;
            Medo = medo;
        }

        public long Mesu 
        {
            get
            {
                return _mesu;
            }

            set
            {
                if (_mesu == value)
                {
                    return;
                }
                _mesu = value;
                OnPropertyChanged(nameof(Mesu));
            }
        }
        
        public long Medo 
        {
            get
            {
                return _medo;
            }

            set
            {
                if (_medo == value)
                {
                    return;
                }
                _medo = value;
                OnPropertyChanged(nameof(Medo));
            }
        }

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