Custom attribute that can be applied to multiple elements using wildcards.
Inheritance
Namespace: PostSharp.Extensibility
Assembly: PostSharp.dll
Syntax
[Serializer(null)]
public abstract class MulticastAttribute : AttributeRemarks
Each class derived from MulticastAttribute should be decorated with an instance of MulticastAttributeUsageAttribute.
Note to implementors: The properties of this class that start with the word 'Attribute' only have an effect if they are set at the point where the attribute is used (in brackets). Setting them in the constructor of your subclass has no effect.
Multicasting is performed by the MulticastAttributeTask, which should be
included in the project. After multicasting, custom attribute instances are
available on the CustomAttributeDictionaryTask class.
When you apply a multicast attribute to a container, such as an assembly or a type, it is implicitly applied to all the elements of that container that match its filters: the ones set by the aspect developer with MulticastAttributeUsageAttribute, and the ones set by the aspect user with the properties of this class. Users can only restrict the set of targets allowed by the developer, not enlarge it. All PostSharp aspects derive from this class, but you can also derive custom attributes that are not aspects from it to multicast them.
Constructors
| Name | Description |
|---|---|
| MulticastAttribute() |
Properties
| Name | Description |
|---|---|
| AllowExtensionBlockMembers | Gets or sets a value indicating whether C# 14 extension block members are allowed. |
| AttributeExclude | Gets or sets a value indicating whether this attribute removes all other instances of the same attribute type from the set of elements defined by the current instance. |
| AttributeInheritance | Gets or sets the inheritance mode of this attribute. |
| AttributePriority | Gets or sets the priority of the current attribute when multiple instances are defined on the same element (lower values are processed first). |
| AttributeReplace | Gets or sets a value indicating whether this attribute replaces other attributes found on the target declarations. |
| AttributeTargetAssemblies | Gets or sets the assemblies to which the current attribute applies. |
| AttributeTargetElements | Gets or sets the kind of elements to which this custom attribute applies. |
| AttributeTargetExternalMemberAttributes | Gets or sets the visibilities, scopes, virtualities, and implementation of members to which this attribute applies, when the member is external to the current module. |
| AttributeTargetExternalTypeAttributes | Gets or sets the visibilities of types to which this attribute applies, when the type is external to the current module. |
| AttributeTargetMemberAttributes | Gets or sets the visibilities, scopes, virtualities, and other characteristics of members to which this attribute applies. |
| AttributeTargetMembers | Gets or sets the expression specifying to which members this instance applies. |
| AttributeTargetParameterAttributes | Gets or sets the passing style (by value, |
| AttributeTargetParameters | Gets or sets the expression specifying to which parameters this instance applies. |
| AttributeTargetTypeAttributes | Gets or sets the attributes of types to which this attribute applies. Visibility, scope (Instance or Static) and generation are the only categories that are taken into account; attributes of other categories are ignored. |
| AttributeTargetTypes | Gets or sets the expression specifying to which types this instance applies. |