code_junkie

How do I stop exceptions trashing my delegate chain?

Nov 13th, 2011
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. static void InvokeIgnoreErrors(this EventHandler handler,
  2. object sender) {
  3. if(handler != null) {
  4. foreach(EventHandler subHandler in handler.GetInvocationList()) {
  5. subHandler(sender, EventArgs.Empty);
  6. }
  7. }
  8. }
  9.  
  10. static bool InvokeCheckCancel(this CancelEventHandler handler,
  11. object sender) {
  12. if(handler != null) {
  13. CancelEventArgs args = new CancelEventArgs(false);
  14. foreach(CancelEventHandler subHandler in handler.GetInvocationList()) {
  15. subHandler(sender, args);
  16. if(args.Cancel) return true;
  17. }
  18. }
  19. return false;
  20. }
Add Comment
Please, Sign In to add comment