diff options
Diffstat (limited to 'Decompiler/Gestor.Application.Helpers/NotifyPropertyChangedExtension.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.Helpers/NotifyPropertyChangedExtension.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.Helpers/NotifyPropertyChangedExtension.cs b/Decompiler/Gestor.Application.Helpers/NotifyPropertyChangedExtension.cs new file mode 100644 index 0000000..2eb1bf4 --- /dev/null +++ b/Decompiler/Gestor.Application.Helpers/NotifyPropertyChangedExtension.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace Gestor.Application.Helpers; + +public static class NotifyPropertyChangedExtension +{ + public static void MutateVerbose<TField>(this INotifyPropertyChanged instance, ref TField field, TField newValue, Action<PropertyChangedEventArgs> raise, [CallerMemberName] string propertyName = null) + { + if (!EqualityComparer<TField>.Default.Equals(field, newValue)) + { + field = newValue; + raise?.Invoke(new PropertyChangedEventArgs(propertyName)); + } + } +} |