OnEventAddHandlerAdvice Class |
System.Attribute
PostSharp.Aspects.Advices.Advice
PostSharp.Aspects.Advices.GroupingAdvice
PostSharp.Aspects.Advices.OnEventAddHandlerAdvice
Namespace: PostSharp.Aspects.Advices
Assembly: PostSharp (in PostSharp.dll) Version: 6.10.14.0 (6.10.14.0)
public sealed class OnEventAddHandlerAdvice : GroupingAdvice
The OnEventAddHandlerAdvice type exposes the following members.
Name | Description | |
---|---|---|
OnEventAddHandlerAdvice | Initializes a new instance of the OnEventAddHandlerAdvice class |
Name | Description | |
---|---|---|
Description |
A human-readable description of the current advice.
(Inherited from Advice.) | |
LinesOfCodeAvoided |
Reduction in the code lines count achieved by applying the advice instance to one code element.
(Inherited from Advice.) | |
Master |
Name of the master advice method. If this property is not set,
the current method is itself the master of the group. Only
master methods can define selectors (Pointcut)
and dependencies (AspectDependencyAttribute).
(Inherited from GroupingAdvice.) |
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 Master property).
Standalone advices or group masters should also be annotated by a custom attribute derived from Pointcut . |
Because of the way how 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. |