Лучшая практика для IEnumerable в аргументах события - PullRequest
1 голос
/ 18 февраля 2011

У меня есть DLL, включая класс для управления аудио и MIDI-портами и соединениями.Всякий раз, когда порты регистрируются или отменяются, или соединения создаются или освобождаются, этот класс запускает событие, например ConnectionChanged с пользовательскими аргументами события, включая свойства Enum ChangeType и IEnumerable<Connection> ChangedConnections

Теперь мой вопрос: должен ли я действительнопросто отправьте измененные соединения или измените свойство аргументов события на Connections и отправьте IEnumerable, содержащий все активные соединения?

1 Ответ

4 голосов
/ 18 февраля 2011

По моему мнению, событие называется «ConnectionChanged», вы должны включить соединения, которые относятся к этому событию, в аргументы вашего события.Сделайте все активные подключения доступными с помощью члена вашего класса.

При срабатывании события.Вы отправляете фактический объект, вызвавший событие, в элемент Sender.Поэтому, если кто-то действительно заинтересован во всех активных соединениях, его можно получить через объект Sender.

...