PostSharp6.2/API Reference/Post­Sharp.​Aspects.​Advices Namespace/On­Event­Invoke­Handler­Advice Class

OnEventInvokeHandlerAdvice Class

Custom attribute that, when applied on a method of an aspect class, specifies that this method is an advice having the same semantics as OnInvokeHandler(EventInterceptionArgs).
Inheritance Hierarchy
System.Object
  System.Attribute
    PostSharp.Aspects.Advices.Advice
      PostSharp.Aspects.Advices.GroupingAdvice
        PostSharp.Aspects.Advices.OnEventInvokeHandlerAdvice

Namespace:  PostSharp.Aspects.Advices
Assembly:  PostSharp (in PostSharp.dll) Version: 6.2.13.0 (6.2.13.0)
Syntax
C#
public sealed class OnEventInvokeHandlerAdvice : GroupingAdvice

The OnEventInvokeHandlerAdvice type exposes the following members.

Constructors
  NameDescription
Public methodOnEventInvokeHandlerAdvice
Initializes a new instance of the OnEventInvokeHandlerAdvice class
Properties
  NameDescription
Public propertyDescription
A human-readable description of the current advice.
(Inherited from Advice.)
Public propertyLinesOfCodeAvoided
Reduction in the code lines count achieved by applying the advice instance to one code element.
(Inherited from Advice.)
Public propertyMaster
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.)
Remarks

The method to which this custom attribute is applied must be public and must have the same signature as OnInvokeHandler(EventInterceptionArgs). However, it can be static.

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).

Note Note
Standalone advices or group masters should also be annotated by a custom attribute derived from Pointcut .

Note Note
Because of the way how the C# compiler implements automatic 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.
See Also