Параллельный EventHandler - PullRequest
       6

Параллельный EventHandler

3 голосов
/ 29 ноября 2010

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

Должен ли я бросить свой собственный обработчик событий;использовать некоторые из FCL, поддерживающие параллелизм;или по умолчанию встроенный System.EventHandler<T> поддерживает такой способ уведомления о событиях?

1 Ответ

7 голосов
/ 29 ноября 2010

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

(Возвращается Delegate[], но вы можете привести каждый экземпляр к нужному типу. Вы можете даже сойтись с приведением самого массива - я не могу точно вспомнить, какого родамассива это на самом деле создает.)

...