问题
I want to notify my class's event subscribers without delay and simultaneously.
Should I roll my own event handler; use some from FCL supporting parallelism; or default built-in System.EventHandler<T>
support such way of event notification?
回答1:
You can use MulticastDelegate.GetInvocationList for any delegate, and then just invoke all of the component delegates in parallel. That's probably the easiest way to go.
(It returns Delegate[]
but you can cast each instance to the right type. You may even get away with casting the array itself - I can't remember exactly what kind of array it actually creates.)
来源:https://stackoverflow.com/questions/4302090/parallel-eventhandler