@killman

Как сделать так чтобы во время изменения значения переменной происходило действие c#?

У меня есть переменная и мне нужно отслеживать изменение, и если она поменялась то стирать её значение
  • Вопрос задан
  • 1278 просмотров
Решения вопроса 1
Делаешь вместо "переменной" свойство и внутри сеттера вызываешь какой-нибудь метод, который будет уведомлять заинтересованных об изменении.

Например вот так:
public class Test {
  private int _someValue;
  public int SomeValue
  {
    get => _someValue;
    set {
      if(value != _someValue) {
        _someValue = value;
        NotifyAboutChange(); // То самое "действие"
      }
    }
  }
}

Про события можешь почитать тут:
https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@forced
Для этого создается событие: оно вызывается тем методом, где используется переменная. Подписчики события получают информацию о текущем значении переменной и выполняют свой код.
Ответ написан
freeExec
@freeExec
Участник OpenStreetMap
Либо использовать какой-нибудь реактивный фреймворк
https://www.nuget.org/packages/ReactiveProperty/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы