1234567891011121314151617181920212223242526272829 |
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- namespace SukiUI.Helpers
- {
- public abstract class SukiObservableObject : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler? PropertyChanged;
- public bool SetAndRaise<T>(ref T field, T newValue, [CallerMemberName] string propertyName = null!)
- {
- if (EqualityComparer<T>.Default.Equals(field, newValue))
- {
- return false;
- }
- field = newValue;
- OnPropertyChanged(propertyName);
- return true;
- }
- protected void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- }
|