Inotifypropertychanged для реализации паттерна "наблюдатель" - C#
Формулировка задачи:
public class Character :
{
private int _c_money;
public int c_money { get
{ return _c_money; }
set { _c_money = value; } }
private string _c_name;
public string c_name { get { return _c_name; } set { _c_name = value; } }
private bool _c_premiumacc;
public bool c_premiumacc { get { return _c_premiumacc; } set { if (_c_premiumacc == value) return; _c_premiumacc = value;}}Решение задачи: «Inotifypropertychanged для реализации паттерна "наблюдатель"»
textual
Листинг программы
public class Character : INotifyPropertyChanged
{
private int _c_money;
public int c_money
{
get { return _c_money; }
set
{
if (_c_money != value)
{
_c_money = value;
OnPropertyChanged("c_money");
}
}
}
private string _c_name;
public string c_name
{
get { return _c_name; }
set
{
if (_c_name != value)
{
_c_name = value;
OnPropertyChanged("c_name");
}
}
}
private bool _c_premiumacc;
public bool c_premiumacc
{
get { return _c_premiumacc; }
set
{
if (_c_premiumacc != value)
{
_c_premiumacc = value;
OnPropertyChanged("c_premiumacc");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}