Files
nucleic-windows/NucleicApp/ViewModels/ViewModelBase.cs
T

21 lines
617 B
C#

using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace NucleicApp.ViewModels;
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
protected bool Set<T>(ref T field, T value, [CallerMemberName] string? name = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
Raise(name);
return true;
}
protected void Raise([CallerMemberName] string? name = null) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}