using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace VirtualConveyor.Common.Entity
{
///
/// 此类用于属性改变时的基础类
///
public class BindableBase : INotifyPropertyChanged
{
protected void SetProperty(ref T prop, T value, [CallerMemberName] string callerName = "")
{
if (!EqualityComparer.Default.Equals(prop, value))
{
prop = value;
OnPropertyChanged(callerName);
}
}
protected virtual void OnPropertyChanged(string propertyName)
{
var propertyChanged = PropertyChanged;
if (propertyChanged != null)
{
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
}