Общее поле изменило событие

В настоящее время я пытаюсь создать Logger для сотен классов, который прослушивает изменение 3 свойств и создает сообщение журнала, если они это делают.

  public class MementoLoggerUtility<SLOC, AVAL, BVAL>
    {
        private SLOC Loc;
        private AVAL Val1;
        private BVAL Val2;

        /// <summary>
        /// CTOR
        /// </summary>
        public MementoLoggerUtility(ref SLOC loc, ref AVAL val1, ref BVAL val2)
        {
            Loc = loc;
            Val1 = val1;
            Val2 = val2;            
        }

Я бы передал свойство 3 в конструктор прослушиваемого объекта, но мне нужно событие OnPropertyChanged в этот класс для прослушивания их изменений.

(Я не могу записать его в установщик свойств прослушиваемого объекта.)

Возможно ли реализовать этот план? Если нет, можете ли вы предложить мне другой вариант?

1 ответ

Решение

Я думаю, что... если ваше решение предназначено только для целей тестирования, я думаю, что проблем не так много, в противном случае вам следует учитывать потенциальное влияние на производительность приложения, в основном связанное с количеством одновременно работающих объектов и относительными объектами журналирования. кто опрашивает их..

Вы должны предоставить один многопоточный метод опроса для каждого класса, и когда изменяются состояния, которые вы опрашиваете, возникает событие.

Другие вопросы по тегам