# 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]]