Inotifypropertychanged для реализации паттерна "наблюдатель" - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. public class Character :
  2. {
  3. private int _c_money;
  4. public int c_money { get
  5. { return _c_money; }
  6. set { _c_money = value; } }
  7. private string _c_name;
  8. public string c_name { get { return _c_name; } set { _c_name = value; } }
  9. private bool _c_premiumacc;
  10. public bool c_premiumacc { get { return _c_premiumacc; } set { if (_c_premiumacc == value) return; _c_premiumacc = value;}}
Прошу помощи в реализации данного паттерна. Необходимо, чтобы количество денег удваивалось или уменьшалось в два раза в зависимости от изменения поля c_premiumacc. Или подскажите хорошие источники где подробно об inotifypropertychanged рассказывается.

Решение задачи: «Inotifypropertychanged для реализации паттерна "наблюдатель"»

textual
Листинг программы
  1. public class Character : INotifyPropertyChanged
  2. {
  3.     private int _c_money;
  4.     public int c_money
  5.     {
  6.         get { return _c_money; }
  7.         set
  8.         {
  9.             if (_c_money != value)
  10.             {
  11.                 _c_money = value;
  12.                 OnPropertyChanged("c_money");
  13.             }
  14.         }
  15.     }
  16.  
  17.     private string _c_name;
  18.     public string c_name
  19.     {
  20.         get { return _c_name; }
  21.         set
  22.         {
  23.             if (_c_name != value)
  24.             {
  25.                 _c_name = value;
  26.                 OnPropertyChanged("c_name");
  27.             }
  28.         }
  29.     }
  30.  
  31.     private bool _c_premiumacc;
  32.     public bool c_premiumacc
  33.     {
  34.         get { return _c_premiumacc; }
  35.         set
  36.         {
  37.             if (_c_premiumacc != value)
  38.             {
  39.                 _c_premiumacc = value;
  40.                 OnPropertyChanged("c_premiumacc");
  41.             }
  42.         }
  43.     }
  44.  
  45.     public event PropertyChangedEventHandler PropertyChanged;
  46.  
  47.     protected virtual void OnPropertyChanged(string propertyName)
  48.     {
  49.         if (PropertyChanged != null)
  50.             PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
  51.     }
  52. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы