Open sandboxFocusImprove this doc

Aspect API

Use these namespaces when creating aspects or fabrics.

Namespace Description
Metalama.Framework.Aspects Main namespace for creating aspects, including base classes like TypeAspect, MethodAspect, and FieldOrPropertyAspect. Also contains AdviserExtensions, the first-level API for programmatically adding advice.
Metalama.Framework.Advising Contains second-level APIs used when advising code behind extension methods of AdviserExtensions.
Metalama.Framework.Diagnostics Enables aspects to report or suppress errors, warnings, or informational messages using IDiagnosticSink.
Metalama.Framework.Eligibility Allows aspects to declare eligibility rules that specify which declarations they can be applied to.
Metalama.Framework.Fabrics Provides the ability to add aspects or validators to entire projects and namespaces using ProjectFabric and NamespaceFabric, and to configure aspects.
Metalama.Framework.Metrics Read predefined code metrics and implement custom metrics. Metrics are useful in validators and introspection queries.
Metalama.Framework.Project Exposes the object model of the project being processed through IProject, as well as the service provider.
Metalama.Framework.RunTime Contains classes used at runtime. All other namespaces are used only at compilation time.