Пожалуйста Авторизоваться or Регистрация для создания сообщений и тем.
Отслеживать изменение полей класса
Удаленный пользователь
#1 · 07.07.2022, 19:20
Цитата: Удаленный пользователь от 07.07.2022, 19:20Добрый вечер, появился вопрос:
Возможно ли создать event который будет вызываться когда меняется начальное значение поля класса после объявления его в конструкторе?
Добрый вечер, появился вопрос:
Возможно ли создать event который будет вызываться когда меняется начальное значение поля класса после объявления его в конструкторе?
Голосуйте - палец вниз.0Голосуйте - палец вверх.0
Удаленный пользователь
#2 · 07.07.2022, 20:29
Цитата: Удаленный пользователь от 07.07.2022, 20:29Привет 👋. Возможно что-то вроде этого? [spoiler title="Код"]
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; } }
[/spoiler]
Привет 👋. Возможно что-то вроде этого?
Код
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;
}
}
Скопировано
Голосуйте - палец вниз.0Голосуйте - палец вверх.1
Последний раз редактировалось 07.07.2022, 20:31 : Удаленный пользователь
admin отреагировал на эту запись.
admin
Удаленный пользователь
#3 · 07.07.2022, 22:09
Цитата: Удаленный пользователь от 07.07.2022, 22:09То, что нужно, спасибо большое.
То, что нужно, спасибо большое.
Голосуйте - палец вниз.0Голосуйте - палец вверх.0