Open sandboxFocus

Class EventInterceptionArgs

In PostSharp, this object exposed the run-time execution context to an event interception advice. However, in Metalama, advice do not execute at run time. Instead, advice are templates that generate run-time code. This run-time code does not need helper objects to represent the execution context.

Inheritance
EventInterceptionArgs
Namespace: PostSharp.Aspects
Assembly: Metalama.Migration.dll
Syntax
[Obsolete("In PostSharp, this object exposed the run-time execution context to an event interception advice. However, in Metalama, advice do not execute at run time. Instead, advice are templates that generate run-time code. This run-time code does not need helper objects to represent the execution context.", false)]
public abstract class EventInterceptionArgs : AdviceArgs

Constructors

Name Description
EventInterceptionArgs()

Properties

Name Description
Arguments

In PostSharp, gets arguments in an OnInvokeHandler(EventInterceptionArgs) advice. In Metalama, this advice type is not supported.

Binding

Use IEvent.Add(dynamic?), IEvent.Remove(dynamic?) or IEvent.Raise(params dynamic?[]) to generate run-time code that accesses the event.

Event

Use meta.Target.Event. If you need a run-time EventInfo. call ToEventInfo().

Handler

Use the value parameter in the template.

ReturnValue

In PostSharp, gets the return value after ProceedInvokeHandler() has been called. In Metalama, ProceedInvokeHandler() is not supported, however you can call the handler yourself (it is exposed as the value template parameter) and store the result in a local variable.

Methods

Name Description
AddHandler(Delegate)

Use meta.Proceed() from the advice that overrides the event adder, or use IEvent.Add(dynamic?).

InvokeHandler(Delegate, Arguments)

Not supported in Metalama.

ProceedAddHandler()

Use meta.Proceed() from the advice that overrides the event adder, or use IEvent.Add(dynamic?).

ProceedInvokeHandler()

Not supported in Metalama.

ProceedRemoveHandler()

Use meta.Proceed() from the advice that overrides the event remover, or use IEvent.Remove(dynamic?).

RemoveHandler(Delegate)

Use meta.Proceed() from the advice that overrides the event remover, or use IEvent.Remove(dynamic?).