PostSharp 4.3 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Extensibility Namespace
PostSharp.Extensibility Namespace
The PostSharp.Extensibility namespace defines the semantics of the attribute multicasting mechanism and exposes other types that allow user code to interact with the PostSharp,platform.
Classes
  Class Description
Public class AssemblyIdAttribute
Assigns a unique identifier to an assembly. This assembly identifier is used to generate unique attribute identifiers.
Public class CompatibilityLevelAttribute
Sets the level of backward compatibility required by aspects in the current assembly.
Public class EnhancedByPostSharpAttribute Obsolete.
Custom attribute added to the assembly manifest of modules processed by PostSharp.
Public class EscalatePostSharpMessageAttribute
Custom attribute that, when applied on an assembly, means that a given message should be escalated to an error during the current PostSharp session.
Public class FrameworkVariants Obsolete.
Defines constants identifying the different variants of the .NET Framework (Full, Compact, Silverlight).
Public class HasInheritedAttributeAttribute
Internal Only. Custom attribute used internally by PostSharp to mark elements having inherited custom attributes. This custom attribute should not be used in custom code, otherwise PostSharp may not work properly.
Public class ImplementationBoundAttributeAttribute
Custom attribute meaning that custom attributes of a given type are bound to the implementation, not to the semantics.
Public class InvalidAnnotationException
Exception thrown at build time by implementation of CompileTimeValidate(Object) when an annotation is invalid.
Public class Message
Encapsulates a message (error, warning, info, ...).
Public class MessageDispenser
Provides a base implementation of IMessageDispenser where the message key is supposed to be in format PRE0000, where PRE is a prefix and 0000 is an integer. Keys for help URLs have the format PRE0000?.
Public class MessageException
Exception embedding a Message.
Public class MessageSource
Provides commodity methods to work with an IMessageSink.
Public class MetricAttribute
Custom attribute that, when applied on an aspect, causes the aspect to increment some metric at build time.
Public class MulticastAttribute
Custom attribute that can be applied to multiple elements using wildcards.
Public class MulticastAttributeUsageAttribute
Custom attribute that determines the usage of a MulticastAttribute.
Public class PostSharpEnvironment
Provides access to the current PostSharp environment (IPostSharpEnvironment).
Public class PostSharpTrace
Provides tracing functionality. An instance of the PostSharpTrace type implements a trace sink.
Public class ProjectExtensionElement
Represents a custom element (or section) in the XML project type.
Public class ProjectResource
Represents an element of a resource section, i.e. a named object deserialized from XML.
Public class RequirePostSharpAttribute
Custom attribute that, when applied on another custom attribute (a class derived from Attribute), means that assemblies with elements annotated with that custom attribute should be processed by PostSharp.
Public class RequireReflectionWrapperAttribute Obsolete.
Custom attribute that, when applied on a type, specifies that all build-time semantics of this type require reflection wrappers to be passed instead of real reflection objects.
Public class SuppressAnnotationValidationAttribute
Instructs PostSharp that the validation of IValidableAnnotation is done by another component, and should not be processed by the default component.
Structures
  Structure Description
Public structure TargetFrameworkFamily
Represents a variant of family (variant) of the .NET Framework, e.g. NetCore, NetFramework, Silverlight or NetPortable.
Interfaces
  Interface Description
Public interface IMessageDispenser
Gets a text given its key.
Public interface IMessageSink
Receives messages.
Public interface IPostSharpEnvironment
Provides information about the current PostSharp environment.
Public interface IProject
Provides information about the currently executing project.
Public interface IReflectionBindingManagerService
Exposes the ResolveAssembly(Type) method, which gets the reference identity of the assembly declaring a given type.
Public interface IService
A service exposed by the build-time part of PostSharp.
Public interface IServiceLocator
Exposes build-time services.
Public interface IStateStore
A context that provides storage for arbitrary items.
Public interface ITargetFramework
Represents a version and variant of the .NET framework (running on a device) on which the project being built is design to run.
Public interface IValidableAnnotation
Interface that, when implemented by a custom attribute (Attribute), causes PostSharp to invoke a validation method for every instance of that custom attribute.
Public interface IWeavingSymbolsService
Service that allows build-time code to push annotations (both programmatic and user-visible) to PostSharp Tools for Visual Studio.
Enumerations
  Enumeration Description
Public enumeration AssemblyLoadContext
Enumeration of contexts in which assemblies can be loaded.
Public enumeration CompatibilityLevel
Enumeration of standard levels of backward compatibility.
Public enumeration MulticastAttributes
Attributes of elements to which multicast custom attributes (MulticastAttribute) apply.
Public enumeration MulticastInheritance
Kind of inheritance of MulticastAttribute.
Public enumeration MulticastTargets
Kinds of targets to which multicast custom attributes (MulticastAttribute) can apply.
Public enumeration SeverityType
Types of message severities.