Classes
MulticastAspect
A base class that can be used to build aspects that mimics PostSharp attribute multicasting. This class implements multicasting from the assembly- or type-level custom attributes. Implementations of this class must provide the other implementations of the IAspect<T> generic interface for the final type of declarations.
MulticastImplementation
A reusable implementation of the multicasting logic. Each multicast-enabled aspect must contain an instance of the MulticastImplementation class and should call its BuildAspect<T>(IAspectBuilder<T>, Action<IAspectBuilder<T>>?) method. to perform multicasting.
OverrideFieldOrPropertyMulticastAspect
An aspect equivalent to OverrideFieldOrPropertyAspect that also implements multicasting for backward compatibility with PostSharp.
OverrideMethodMulticastAspect
An aspect equivalent to OverrideMethodAspect that also implements multicasting for backward compatibility with PostSharp.
Interfaces
IMulticastAttribute
An interface that exposes properties that are equivalent those of the PostSharp MulticastAttribute
.
Multicast aspects in Metalama should implement this interface. All properties should be implemented as automatic properties.
Enums
MulticastAttributes
Attributes (i.e. in C# terms, modifiers) of elements to which multicast custom attributes (IMulticastAttribute) apply.
MulticastInheritance
In Metalama, aspect inheritance is ruled at the class level by the InheritableAttribute custom attribute. In Metalama itself, only
Strict
inheritance is implemented. MulticastAspect and MulticastImplementation implement an emulation of the Multicast
inheritance mode by passing the proper parameter to the constructor.
MulticastTargets
Kinds of targets to which multicast aspects (IMulticastAttribute) can be applied.