AspectEffectDependencyAttribute Class |
System.Attribute
PostSharp.Aspects.Dependencies.AspectDependencyAttribute
PostSharp.Aspects.Dependencies.AspectEffectDependencyAttribute
Namespace: PostSharp.Aspects.Dependencies
Assembly: PostSharp (in PostSharp.dll) Version: 2023.0.3.0 (2023.0.3.0)
public sealed class AspectEffectDependencyAttribute : AspectDependencyAttribute
The AspectEffectDependencyAttribute type exposes the following members.
Name | Description | |
---|---|---|
AspectEffectDependencyAttribute(AspectDependencyAction, String) |
Initializes a new AspectEffectDependencyAttribute without specifying the position,
implicitly set to Any.
| |
AspectEffectDependencyAttribute(AspectDependencyAction, AspectDependencyPosition, String) |
Initializes a new AspectEffectDependencyAttribute and specifies a position.
|
Name | Description | |
---|---|---|
Action |
Gets the dependency action, i.e. the kind of relationship specified by the dependency
(Order, Require,
Conflict, or Commute).
(Inherited from AspectDependencyAttribute.) | |
Effect |
Gets the effect that the aspects or advices must have in order to match the current dependency.
| |
IsWarning |
If true, specifies that the constraint (of type Require
or Conflict) should emit a warning instead of an error if not
respected.
(Inherited from AspectDependencyAttribute.) | |
Position |
Gets the position of the current dependency, i.e. actually the position of the other
aspect or advices with respect to the one related to this dependency.
(Inherited from AspectDependencyAttribute.) | |
Target | (Inherited from AspectDependencyAttribute.) | |
TargetType |
Aspect type to which this dependency applies. This property is required when the
custom attribute is applied at assembly level. It is ignored when applied on
class or method level.
(Inherited from AspectDependencyAttribute.) |
All aspects (except the ones that have an empty implementation) have an effect on the program execution. The current custom attribute allows to express dependencies to aspects according to their effect.
The list of standard effects is given in class StandardEffects. All advices have implicitly the effect Custom. Most advices also have the effect ChangeControlFlow, because they are able to modify the control flow (for instance, skip the execution of the intercepted method or throwing an exception). An aspect or advice can declare it does not have a given effect by using the WaiveAspectEffectAttribute custom attribute.