Advertisement
Guest User

Untitled

a guest
Aug 25th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.09 KB | None | 0 0
  1.     public class BaseModel : INotifyPropertyChanged
  2.     {
  3.         private int id;
  4.  
  5.         [PrimaryKey, AutoIncrement, Unique, NotNull]
  6.         public int Id
  7.         {
  8.             get => id;
  9.             set => SetProperty(ref id, value);
  10.         }
  11.  
  12.         protected bool SetProperty<T>(ref T backingStore, T value,
  13.             [CallerMemberName]string propertyName = "",
  14.             Action onChanged = null)
  15.         {
  16.             if (EqualityComparer<T>.Default.Equals(backingStore, value))
  17.                 return false;
  18.  
  19.             backingStore = value;
  20.             onChanged?.Invoke();
  21.             OnPropertyChanged(propertyName);
  22.             return true;
  23.         }
  24.  
  25.         #region INotifyPropertyChanged
  26.         public event PropertyChangedEventHandler PropertyChanged;
  27.         protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
  28.         {
  29.             var changed = PropertyChanged;
  30.             if (changed == null)
  31.                 return;
  32.  
  33.             changed.Invoke(this, new PropertyChangedEventArgs(propertyName));
  34.         }
  35.         #endregion
  36.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement