# CODE ``` cs public class NotifyPropertyChangedBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void SetProperty<T>(ref T storage, T value, [CallerMemberName] [NotNull] string propertyName = default) { if (storage?.Equals(value) == true) return; storage = value; OnPropertyChanged(propertyName); } public void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } ``` --- #dev #CSharp #MVVM #INotificationPropertyChanged [[MVVM]]