This is namespace allows you to define how your aspects can be used.
Your aspect implements the IEligible<T> interface, which has a single method BuildEligibility. This method receives an IEligibilityBuilder<T>. Typically, you would use the extension methods of this interface defined in the EligibilityExtensions class to specify the eligibility of your aspect. These extension methods add predefined implementations of the IEligibilityRule<T> interface to the IEligibilityBuilder<T>. However, you can also provide your own implementation of the IEligibilityRule<T> interface.
For details and examples, see Defining the Eligibility of Aspects.
Encapsulates an object and a human-readable description.
Extension methods for IDescribedObject<T>.
Extension methods for IEligibilityBuilder.
Creates instances of the IEligibilityRule<T> interface, which can then be used by the VerifyEligibility(IEligibilityRule<TAspectTarget>) method.
Enumeration of scenarios in which an aspect can be used.
Encapsulates an arbitrary object and its optional human-readable description. Implemented by DescribedObject<T>.
The non-generic base interface for IEligibilityBuilder<T>.
Encapsulates a predicate determining the eligibility of an object (typically a declaration or a type).
An interface that allows aspect to specify to which declarations they are allowed to be applied.