Custom attribute that, when applied on a method of an aspect class, specifies that this method is an advice that has the same semantics as OnAddHandler(EventInterceptionArgs).
Namespace: PostSharp.Aspects.Advices
Assembly: PostSharp.dll
Syntax
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public sealed class OnEventAddHandlerAdvice : GroupingAdviceRemarks
The method to which this custom attribute is applied must be public and must have the same signature as OnAddHandler(EventInterceptionArgs). However, it can be static.
This advice does not intercept the initializer of a field-like event. If you want to intercept the adding of all handlers, do not use event initializers and instead add the initial handler in the constructor.
If an aspect defines many advices (among OnEventAddHandlerAdvice , OnEventRemoveHandlerAdvice and OnEventInvokeHandlerAdvice ) that are meant to be applied to the same events with consistent ordering, these advices should be grouped together (see Group property).
note
A group of advices without a custom attribute derived from Pointcut applies to the event to which the aspect is applied; when the aspect is applied to another kind of declaration, a pointcut is required. An advice without Group, Master and pointcut joins the group of its class that has no advice of its kind yet.
note
Because of the way the C# compiler implements
field-like events
(i.e. events where you
don't implement the
Add
and
Remove
semantics manually), the
Invoke Event Handler
semantic (
OnInvokeHandler(EventInterceptionArgs)
or equivalent) shall not be invoked for delegates that have been added from inside the class that declares this event.
Constructors
| Name | Description |
|---|---|
| OnEventAddHandlerAdvice() |