Base stones of the extensibility mechanisms of PostSharp (Platform Infrastructure).

Classes

  Class Description
AssembleOptions
AssemblyLoadArgs
Encapsulates the arguments of the LoadFrom(String, Evidence) method. Contains the identity of an assembly and other optional arguments.
AutoUpdate
Checks whether newer versions of PostSharp or other related are available and write a warning if so.
BackwardCompatibleAssemblyAttribute
When applied to an assembly, specifies that this assembly is backward compatible up down a specific version.
ConfigurablePropertyAttribute
Custom attribute that, then applied on a property of a class derived from Task, specifies that this property is configurable as an XML attribute in the XML project file.
CustomAttributeInstance
Represents a CustomAttributeValue that is applied to one and only one target element.
CustomAttributeValue
Represents a custom attribute value that is not declared inside a module, i.e. is not a MetadataDeclaration.
DefaultPostSharpHost
Default implementation of IPostSharpHost for the runtime usage scenario.
DisablePostSharpMessageAttribute
Custom attribute that, when applied on an assembly, means that a given message should be disabled during the current PostSharp session.
DotNet20PlatformAdapter
Implements a PlatformAdapter specifically for the .NET Framework 2.0.
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.
ImplementationBoundAttributeAttribute
Custom attribute meaning that custom attributes of a given type are bound to the implementation, not to the semantics.
Message
Encapsulates a message (error, warning, info, ...).
MessageEventArgs
Arguments of the Message event.
MessageException
Exception embedding a Message.
MessageSinkAccessor
Gives access to a remove IMessageSink.
MessageSource
Provides commodify methods to work with an IMessageSink.
Messenger
Publish-subcribe channel for error messages (Message).
MulticastAttribute
Custom attribute that can be applied to multiple elements using wildcards.
MulticastAttributeUsageAttribute
Custom attribute that determines the usage of a MulticastAttribute.
PhaseExecutedEventArgs
Arguments of the events PhaseExecuting and PhaseExecuted.
PlatformAdapter
Provides platform-specific functionalities to compile for a specific target platform.
PostSharpEnvironment
Provides access to the current PostSharp environment (IPostSharpEnvironment).
PostSharpLocalHost
Object that stands between the PostSharpObject and the remote host (IPostSharpHost). Lays in the PostSharp AppDomain. Typically derived by a host when some processings have to be done in the PostSharp AppDomain instead of the host AppDomain.
PostSharpObject
Implementation of IPostSharpObject. The principal entry point of the PostSharp Platform.
PostSharpObjectSettings
Specifies how the PostSharp Object (IPostSharpObject) should be instantiated and should behave.
PostSharpRequirements
Represents the collection of tasks required by a custom attribute implementing IRequirePostSharp.
Project
Contains the actual configuration of the application or project at a given time in the project loading process, i.e. with resolved properties and references.
ProjectInvocation
Request to execute a Project.
ProjectInvocationParameters
Determines how an already-given module should be processed. Encapsulates a project identity and the properties with which it should be executed.
PropertyCollection
Collection of properties.
ReferencingAssembliesRequirePostSharpAttribute
Custom attribute that, when applied to an assembly, means that all assemblies that reference this assembly need to be post-compiled by PostSharp.
RemotingAccessor<(Of <(T>)>)
Automatically manages the lifetime of a remote object.
SharedCustomAttributeInstance
Implementation of ICustomAttributeInstance that allows the same custom attribute value to be applied to many target elements.
TagCollection
Collection of tags (see ITaggable). Used to pass tags from the host to the Domain and Project objects.
Task
Execution unit of a Project.
TaskCollection
Collection of tasks (Task).

Interfaces

  Interface Description
IMessageSink
Receives messages.
IPostSharpEnvironment
Provides information about the current PostSharp environment.
IPostSharpHost
Describes the semantics of a PostSharp Host. The host is conceptually the component that instantiates and uses IPostSharpObject, the principal entry point for the Platform Infrastructure. The IPostSharpObject implementation uses this interface when it needs to get information from the host.
IPostSharpObject
Defines the semantics of the PostSharp Object, the entry point of the Platform Infrastructure. Use the CreateInstance(PostSharpObjectSettings) method to create an instance of the PostSharp Object.
IProject
Provides information about the currently executing project.
IRequirePostSharp
When implemented on a custom attribute, means that the attribute requires a PostSharp task to be executed.

Enumerations

  Enumeration Description
DebugOption
Determines how debugging will be supported for the target module.
MulticastAttributes
Attributes of elements to which multicast custom attributes (MulticastAttribute) apply.
MulticastTargets
Kinds of targets to which multicast custom attributes (MulticastAttribute) can apply.
ProjectExecutionOrder
Determines in which order tasks of projects should be executed. This is relevant only when the InvokeProjects(array<ProjectInvocation>[]()[]) method is called with many projects or if many projects are executed together due to recursive processing.
SeverityType
Types of message severities.
TaskState
States of a Task.

Remarks

This includes the management of plug-ins, tasks and projects (Project, Task, ProjectContext, ...), a messaging infrastructure for logging (Message, Messenger, MessageProvider, ...).