Classes
Advice
Base class for all custom attributes representing an advice.
AdviceInstance
Base class for advice instances, which the aspect can provide dynamically through the IAdviceProvider interface.
AdviceParameterAttribute
Base class of the custom attributes that bind a parameter of an advice method to a value of the target of the advice, such as an argument, the instance, or a variable shared by the advices of a group.
ArgumentAttribute
Binds a parameter of an advice method to an argument of the target method, selected by its index, by its name, or by its type.
ArgumentsAttribute
Binds a parameter of an advice method to an Arguments object that holds all the arguments of the target method.
AsyncCallIdAttribute
Binds a parameter of a method boundary advice to the AsyncCallId that identifies the current execution of an async method.
AwaitedMethodAttribute
Binds a parameter of an OnMethodYieldAdvice method to the method called by the async method to get the object it awaits.
AwaitedTaskAttribute
Binds a parameter of an OnMethodYieldAdvice method to the task awaited by the async method.
AwaiterAttribute
Binds a parameter of an OnMethodEntryAdvice or OnMethodResumeAdvice method to an awaiter that the async method awaits before it continues.
BindingAttribute
Binds a parameter of an interception advice to the binding object, which invokes the next node in the chain of interceptions of the target.
CopyCustomAttributesAttribute
Custom attribute that, when applied on an aspect class, requires custom attributes present on the aspect class to be copied to the target of this class. When applied on an introduced member (see IntroduceMemberAttribute), this custom attribute requires custom attributes present on the aspect member to be copied to the introduced member.
CurrentTaskAttribute
Binds a parameter of a method boundary advice to the task that the caller of the current async method observes. The parameter is
null until the method has yielded, and always null when the method is not an async method, when it is implemented with
runtime async, or when its method builder is not supported.
DeclarationAttribute
Binds a parameter of an advice method to the reflection object of the target declaration.
DeclarationIdentifierAttribute
Binds a parameter of an advice method to the DeclarationIdentifier of the target declaration.
DeclarationNameAttribute
Binds a parameter of an advice method to the name of the target declaration.
Event<TDelegate>
Exposes the semantics of an event for use with the ImportMemberAttribute aspect extension.
ExceptionAttribute
Binds a parameter of an OnMethodExceptionAdvice method to the exception thrown by the target method.
FlowBehaviorAttribute
Binds a parameter of a method boundary advice to a FlowBehavior variable, which the advice sets to change the control flow of the target method.
GroupingAdvice
Base class for all advices that are possibly composed of multiple advices that can be grouped together using the Master property.
ImportLocationAdviceInstance
Represents an advice that imports a field or property (represented by a LocationInfo) of the target class into a field of the aspect class. This class is the imperative equivalent of the ImportMemberAttribute declarative advice.
ImportMemberAdviceInstance
Base class for ImportLocationAdviceInstance and ImportMethodAdviceInstance.
ImportMemberAttribute
Custom attribute that, when applied to an instance field of an aspect class, determines that this field should be bound to a method, event or property of the target class of this aspect. Valid types for fields are a concrete Delegate (to bind to a method), Property<TValue> or Property<TValue, TIndex> (to bind to a property), or Event<TDelegate> (to bind to an event).
ImportMethodAdviceInstance
Represents an advice that imports a method of the target class into the aspect class.
InitializeAspectInstanceAdvice
Custom attribute that, when applied to a method of an aspect class, specifies that this method
should be invoked whenever the aspect instance needs to be initialized. The target method
must have a void return value and have a single parameter of type AspectInitializationReason.
This method is equivalent to RuntimeInitializeInstance().
IntroduceInterfaceAdviceInstance
Represents an advice that introduces an interface into the target class. The interface must be implemented by the aspect class.
IntroduceInterfaceAttribute
Custom attribute that, when applied to an aspect class, specifies that the aspect should introduce a given interface into the type to which the aspect is applied.
IntroduceMemberAdviceInstance
Base class for IntroduceMethodAdviceInstance.
IntroduceMemberAttribute
Custom attribute that, when applied on a method, event or property of an aspect class, specifies that this method, event or property should be introduced into the types to which the aspect is applied.
IntroduceMethodAdviceInstance
Represents an advice that introduces a method of the aspect class into the target class.
LocationValidationAdvice
Custom attribute that, when applied on a method of an aspect class, specifies that this method has the same semantics as the ValidateValue(T, string, LocationKind, LocationValidationContext) method of the ILocationValidationAspect<T> interface.
LocationValueAttribute
Binds a parameter of a location interception advice to the value of the field or property.
MatchPointcut
Pointcut that selects the methods of the target type that have a given name, and applies the advice only to those whose signature matches the bound parameters of the advice.
MethodPointcut
Custom attribute that, when applied on an advice method, specifies the name of the method that is invoked at build time to return the set of elements of code to which the advice applies.
MulticastPointcut
Custom attribute that, when applied on an advice method, specifies to which elements of code this advice applies, based on the kind, name and attributes of code elements. Works similarly to MulticastAttribute.
OnAspectsInitializedAdvice
Custom attribute that, when applied to a method of an aspect class, specifies that this method
should be invoked after the instances of all the aspects applied on the same target have been initialized. The target method
must have a void return value and have a single parameter of type AspectInitializationReason.
OnEventAddHandlerAdvice
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).
OnEventInvokeHandlerAdvice
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 OnInvokeHandler(EventInterceptionArgs).
OnEventRemoveHandlerAdvice
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 OnRemoveHandler(EventInterceptionArgs).
OnInstanceConstructedAdvice
Custom attribute that, when applied to a method of an aspect, specifies that this method should be executed
after the last instance constructor of the target class of the aspect has completed execution. That is, this method is invoked when the target object
is fully constructed. This custom attribute can be applied only on methods that have return type void.
OnInstanceLocationInitializedAdvice
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 OnInstanceLocationInitialized(LocationInitializationArgs).
OnLocationGetValueAdvice
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 OnGetValue(LocationInterceptionArgs).
OnLocationSetValueAdvice
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 OnSetValue(LocationInterceptionArgs).
OnMethodBoundaryAdvice
Base class for OnMethodEntryAdvice, OnMethodSuccessAdvice, OnMethodExceptionAdvice, OnMethodExitAdvice, OnMethodYieldAdvice and OnMethodResumeAdvice.
OnMethodEntryAdvice
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 OnEntry(MethodExecutionArgs).
OnMethodExceptionAdvice
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 OnException(MethodExecutionArgs).
OnMethodExitAdvice
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 OnExit(MethodExecutionArgs).
OnMethodInvokeAdvice
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 OnInvoke(MethodInterceptionArgs).
OnMethodInvokeAsyncAdvice
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 OnInvokeAsync(MethodInterceptionArgs).
OnMethodInvokeBaseAdvice
The base class for method interception advices.
OnMethodResumeAdvice
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 OnResume(MethodExecutionArgs).
OnMethodSuccessAdvice
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 OnSuccess(MethodExecutionArgs).
OnMethodYieldAdvice
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 OnYield(MethodExecutionArgs).
Pointcut
Custom attribute, typically accompanying an advice, that specifies to which code elements the advice applies.
Property<TValue>
Exposes the semantics of a parameterless property for use with the ImportMemberAttribute aspect extension.
Property<TValue, TIndex>
Mimics the semantics of a property accepting a single index parameter, for use with the ImportMemberAttribute aspect extension.
ReturnValueAttribute
Binds a parameter of a method interception or method boundary advice to the return value of the target method.
SelfPointcut
Pointcut that selects exactly the aspect target.
SignaturePointcut
A Pointcut that matches target methods by name and signature. This works only with non-generic methods.
StateAttribute
Binds a parameter of an advice method to a variable shared by the advices of an advice group, for instance to pass a value from OnMethodEntryAdvice to OnMethodExitAdvice.
ThisAttribute
Binds a parameter of an advice method to the instance of the target, that is, the this object of the target method, field or property.
Interfaces
IAdviceProvider
Interface that allows an aspect to provide advices dynamically, instead of declaratively by using custom attributes.
IProperty
A weakly typed interface for the Property<TValue> class.
Enums
ArgumentAmbiguityResolution
Specifies the behavior of ArgumentAttribute when several arguments of the target method match the type of the advice parameter.
AspectInitializationReason
Enumerates the reasons why the target method of the InitializeAspectInstanceAdvice has been invoked.
CustomAttributeOverrideAction
Behavior of CopyCustomAttributesAttribute when a custom attribute of the same type already exists on the target declaration.
ImportMemberOrder
Specifies the moment when members should be imported into an aspect.
InterfaceOverrideAction
Specifies the actions to take when an interface that should be introduced into a type is already implemented by that type.
MemberOverrideAction
Specifies the actions that the IntroduceMemberAttribute aspect extension takes when the member to be introduced already exists in the aspect target type or its base type.
StateScope
Specifies the lifetime of a variable bound by StateAttribute.
Delegates
EventAccessor<TDelegate>
Defines the signature of methods implementing the Add and Remove semantics of an event.
PropertyGetter<TValue>
Defines the signature of methods implementing the Get semantics of a parameterless property.
PropertyGetter<TValue, TIndex>
Defines the signature of methods implementing the Get semantics of a property with a single index parameter.
PropertySetter<TValue>
Defines the signature of methods implementing the Set semantics of a parameterless property.
PropertySetter<TValue, TIndex>
Defines the signature of methods implementing the Set semantics of a property with a single index parameter.