initial commit
[GitHub/mt8127/ROM0Split.git] / ROM0Split / Implementations / SuperViewModel.cs
1 using System.ComponentModel;
2 using System.Runtime.CompilerServices;
3
4 namespace ROM0Split.Implementations
5 {
6 public class SuperViewModel : INotifyPropertyChanged
7 {
8
9 public event PropertyChangedEventHandler PropertyChanged;
10
11 protected void SetProperty<T>(ref T property, T value, [CallerMemberName] string propertyName = null)
12 {
13 if (object.Equals(property, value))
14 return;
15
16 property = value;
17 onPropertyChanged(propertyName);
18 }
19
20 protected void onPropertyChanged([CallerMemberName] string propertyName = null)
21 {
22 if (object.Equals(PropertyChanged, null))
23 return;
24
25 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
26 }
27 }
28 }
29