Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Отслеживать изменение полей класса

Добрый вечер, появился вопрос:

Возможно ли создать event который будет вызываться когда меняется начальное значение поля класса после объявления его в конструкторе? 

Привет 👋. Возможно что-то вроде этого? 

Код

  static void Main(string[] args)
{
   var Ob = new MyClass();
   Ob.youEvent += (s, e) => { Console.WriteLine("ok"); };
   Ob.Field = false;
}


public class MyClass
    {
        public event EventHandler? _youEvent;
        private bool? _fieldEvent;

        public bool? Field
        {
            get => _fieldEvent;
            set
            {
                if (_fieldEvent == value) return;
                if (_fieldEvent is not bool)
                {
                    _fieldEvent = value;
                    return;
                }
                _fieldEvent = value;
                youEvent?.Invoke(this, EventArgs.Empty);
            }
        }

        public MyClass()
        {
            _fieldEvent = true;
        }
    }


Скопировано

 

 

admin отреагировал на эту запись.
admin

То, что нужно, спасибо большое.