EventHandlerExtensionsSafeInvokeTEventHandler, TEventArgs(TEventHandler, ActionException, Object, TEventArgs, Boolean) Method

Safely invokes event propagation with custom exception handler, continuing even if an attached user handler throws an exception.

Definition

Namespace: Gemstone.EventHandlerExtensions
Assembly: Gemstone.Common (in Gemstone.Common.dll) Version: 1.0.110 -- Release Build+3e0464f4461df4d3e1175b13966eb47ff832554d
public static void SafeInvoke<TEventHandler, TEventArgs>(
	this TEventHandler eventHandler,
	Action<Exception>? exceptionHandler,
	Object? sender,
	TEventArgs args,
	bool parallel = false
)
where TEventHandler : MulticastDelegate
where TEventArgs : EventArgs

Parameters

eventHandler  TEventHandler
Source EventHandler to safely invoke.
exceptionHandler  ActionException
Custom delegate to handle encountered exceptions; when set to null, exception will be suppressed, see SuppressedException.
sender  Object
Event source.
args  TEventArgs
Event arguments.
parallel  Boolean  (Optional)
Call event handlers in parallel, when attached handlers are greater than one.

Type Parameters

TEventHandler
MulticastDelegate type commonly derived from EventHandler.
TEventArgs
Type derived from EventArgs.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type TEventHandler. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

Event handler invocation list access will be locked on eventHandler.

See Also