Лучшая практика в отношении параметра «объект» события - PullRequest
1 голос
/ 17 июня 2010

Этот вопрос относится только к первому параметру в любом обработчике событий, то есть «объекту».

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

Случай прост, когда событие происходит от самого моего объекта, в этом случае я могу просто вызвать ... RaiseSomeEvent (this, someArgs).

Что нужно сделать, если мой объект действуеткак средний человек, и событие происходит от какого-то другого объекта, и средний человек просто отвечает за его поднятие?В этом случае у меня будет два выбора:

1) RaiseSomeEvent (sender, someArgs) // просто передавая объект, который был передан исходным объектом.2) RaiseSomeEvent (this, someArgs)

Существует ли какое-либо правило относительно параметра 'object' события?например, он должен иметь ссылку на исходный объект (тот, который вызвал это событие), или я могу сделать это в любом случае в соответствии с моим требованием?

1 Ответ

3 голосов
/ 17 июня 2010

Я бы использовал здесь основу для вдохновения.

Как правило, случай самый простой - объект - это объект, вызывающий событие.

Однако бывают случаи, когда объекты "фильтруют"События и действовать как посредник в рамках.Случай, который приходит на ум, - это Routed Events в WPF -

. В этом случае Framework использует подход добавления свойства в EventArgs, который задает исходный объект, и использует «this» для события.Подробнее см. RoutedEventArgs.OriginalSource .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...