Open sandboxFocus

Namespace Metalama.Extensions.Multicast

Classes

MulticastAspect

A base class that can be used to build aspects that mimic 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. Multicast-enabled aspects can contain an instance of this class and 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 equivalent to 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

Specifies how a multicast attribute is inherited along inheritance hierarchies.

MulticastTargets

Kinds of targets to which multicast aspects (IMulticastAttribute) can be applied.