C# вопрос.
У меня есть класс, который используется для нескольких экземпляров объектов. Они содержат свойства, и я использую INotifyPropertChanged для уведомления нескольких классов слушателей об изменении свойства. Скажем, класс сетевого менеджера, который устанавливает значение свойства в объекте.
Проблема в том, что объект запускает INotifyPropertyChanged, который затем класс сетевого менеджера принимает как изменение, поэтому он снова меняет свойство. Бесконечный l oop.
Большинство примеров сравнивают значение и останавливают l oop, когда значения совпадают. К сожалению, это означает, что каждому классу-слушателю нужна копия значений всех объектов для сравнения. (Object Sender, String value), который будет включать объект отправителя в настраиваемый EventArgs. Затем объект слушателя может сравнивать Отправителя с самим собой и игнорировать любые инициированные им уведомления.
Я думаю, что это сработает, но есть ли способ лучше? Обидно будет терять свойства. Мне кажется совершенно очевидным, что инициатора изменения не нужно уведомлять о том, что он его инициировал!
Я тщательно искал это и задал вопрос ранее другим способом. Я пока не нашел ничего, связанного с этим. Кто-то упомянул StackTrace, который я попробую, но меня беспокоит, будет ли он работать с несколькими потоками.