PostSharp6.5//API Reference/Post­Sharp.​Aspects Namespace/Location­Interception­Args Class

LocationInterceptionArgs Class

Arguments of advices of aspect type LocationInterceptionAspect.
Inheritance Hierarchy
System.Object
  PostSharp.Aspects.AdviceArgs
    LocationLevelAdviceArgs
      PostSharp.Aspects.LocationInterceptionArgs

Namespace:  PostSharp.Aspects
Assembly:  PostSharp (in PostSharp.dll) Version: 6.5.12.0 (6.5.12.0)
Syntax
C#
public abstract class LocationInterceptionArgs : LocationLevelAdviceArgs, 
	ILocationInterceptionArgs

The LocationInterceptionArgs type exposes the following members.

Properties
  NameDescription
Public propertyBinding
Gets an interface that allows to invoke the next node in the chain of invocation of the intercepted method.
Public propertyDeclarationIdentifier
Gets the DeclarationIdentifier of the declaration to which the advice has been applied.
(Inherited from AdviceArgs.)
Public propertyIndex
Gets the current index arguments (in case of a property with parameters).
Public propertyInstance
Gets or sets the object instance on which the method is being executed.
(Inherited from AdviceArgs.)
Methods
  NameDescription
Public methodExecute<TPayload>
Executes a delegate for the current LocationInterceptionArgs. This method allows to execute strongly-typed operations and avoid boxing required by the weakly typed ILocationInterceptionArgs interface.
Public methodGetCurrentValue
Retrieves the current value of the location without overwriting the Value property.
Public methodProceedGetValue
Invokes the Get Location Value semantic on the next node in the chain of invocation and stores the location value in the Value property.
Public methodProceedSetValue
Invokes the Set Location Value semantic on the next node in the chain of invocation and stores the value of the Value property into the location.
Public methodSetNewValue
Sets the value of the location without overwriting the Value property.
Remarks
Note Note
As a result of weaving optimizations, instances of classes derived from AdviceArgs may be shared among different aspects. Therefore, aspect code should not attempt to access this object once the control has been given over to the next node in the chain of invocation. Consider working with aspect bindings if you need such deferred execution.
Note Note
Aspect weaving optimizations may also cause an advice parameter of this type to be seen null when inspecting it in a debugger. If you need to inspect the instance in runtime, consider disabling aspect optimizations in the debug build configuration.
See Also