using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace CMWTAT_DIGITAL.Domain { public static class NotifyPropertyChangedExtension { public static void MutateVerbose(this INotifyPropertyChanged instance, ref TField field, TField newValue, Action raise, [CallerMemberName] string propertyName = null) { if (EqualityComparer.Default.Equals(field, newValue)) return; field = newValue; raise?.Invoke(new PropertyChangedEventArgs(propertyName)); } } }