Open sandboxFocusImprove this doc

API Reference

PostSharp is a design pattern automation tool for Microsoft .NET.

Namespaces

Namespace Description
PostSharp This is the root namespace of PostSharp.
PostSharp.Aspects This namespace provides the primitives of the PostSharp aspect-oriented framework, such as abstract aspect classes, aspect interfaces, and advice argument classes.
PostSharp.Aspects.Advices This namespace provides custom attributes that allow developing aspects with advice methods, advice parameters and pointcuts.
PostSharp.Aspects.Configuration This namespace contains classes and custom attributes configuring the aspects of the PostSharp.Aspects namespace.
PostSharp.Aspects.Dependencies This namespace contains types and custom attributes that allow you to define dependencies between aspects and advices, so that the aspect weaver behaves deterministically even if the same element of code is the target of several aspects provided by multiple vendors.
PostSharp.Aspects.Serialization This namespace contains types taking care of the process of serializing aspects at build time and deserializing them at run time.
PostSharp.Extensibility This namespace defines the semantics of the attribute multicasting mechanism and exposes other types that allow user code to interact with the PostSharp platform.
PostSharp.Reflection This namespace extends System.Reflection with new types to reflect the code model.
PostSharp.Collections This namespace contains collection types used by the PostSharp library.
PostSharp.Constraints This namespace allows you to validate your code against predefined or custom design rules.
PostSharp.Serialization This namespace implements a portable serializer.
PostSharp.Patterns.Contracts This namespace contains ready-made contracts that validate fields, properties and parameters at run time.
PostSharp.Patterns.Diagnostics This namespace contains a logging aspect.
PostSharp.Patterns.Model This namespace contains an implementation of the Observer, Aggregatable and Disposable patterns.
PostSharp.Patterns.Threading This namespace contains an implementation of several threading models, and other thread dispatching aspects.
PostSharp.Patterns.Collections This namespace defines collection classes that work with the Aggregatable pattern.
PostSharp.Patterns.Recording This namespace implements the undo/redo feature (deprecated).
PostSharp.Patterns.Recording.Operations This namespace defines recordable operations (deprecated).
PostSharp.Extensibility.BuildTimeLogging This namespace allows you to emit build-time log records.
PostSharp.Patterns This is the root namespace for all ready-made implementations of patterns.
PostSharp.Patterns.Caching This namespace contains an API to cache method return values as a result of their arguments.
PostSharp.Patterns.Caching.Backends This namespace contains implementations of adapters for specific caching backends.
PostSharp.Patterns.Caching.Backends.Azure This namespace contains cache invalidators based on Microsoft Azure Service Bus.
PostSharp.Patterns.Caching.Backends.Redis This namespace contains an implementation of PostSharp.Patterns.Caching for Redis.
PostSharp.Patterns.Caching.Dependencies This namespace defines types that represent caching dependencies.
PostSharp.Patterns.Caching.Formatters This namespace contains the formatting role used to format cache keys.
PostSharp.Patterns.Caching.Implementation This namespace contains types that are useful when implementing an adapter for a caching backend, but not when consuming the caching API.
PostSharp.Patterns.Caching.Locking This namespace implements the feature that can prevent concurrent execution of a cached method.
PostSharp.Patterns.Caching.Serializers This namespace contains several serializers, whose role is to serialize cached objects into an array of bytes.
PostSharp.Patterns.Caching.ValueAdapters This namespace contains the abstractions that allow you to cache types like Stream or IEnumerable, which could not be cached without adaptation.
PostSharp.Patterns.Collections.Advices This namespace defines the abstractions to define advices that can be dynamically added to advisable collections of the PostSharp.Patterns.Collections namespace.
PostSharp.Patterns.Diagnostics.Audit This namespace contains the abstractions for the audit feature, which is a special case of logging.
PostSharp.Patterns.Diagnostics.Backends This namespace is the base for all adapters for backend logging frameworks.
PostSharp.Patterns.Diagnostics.Backends.ApplicationInsights This namespace contains the implementation of the Microsoft Application Insights logging backend.
PostSharp.Patterns.Diagnostics.Backends.Audit This namespace contains the implementation of the audit logging backend.
PostSharp.Patterns.Diagnostics.Backends.CommonLogging This namespace contains the implementation of the Common.Logging backend.
PostSharp.Patterns.Diagnostics.Backends.Console This namespace contains the implementation of the system console logging backend.
PostSharp.Patterns.Diagnostics.Backends.EventSource This namespace contains the implementation of the System.Diagnostics.Tracing.EventSource logging backend.
PostSharp.Patterns.Diagnostics.Backends.Log4Net This namespace contains the implementation of the log4net logging backend.
PostSharp.Patterns.Diagnostics.Backends.Microsoft This namespace contains the implementation of the Microsoft.Extensions.Logging logging backend.
PostSharp.Patterns.Diagnostics.Backends.NLog This namespace contains the implementation of the NLog logging backend.
PostSharp.Patterns.Diagnostics.Backends.Null This namespace contains the implementation of the null logging backend (which has no effect).
PostSharp.Patterns.Diagnostics.Backends.Serilog This namespace contains the implementation of the Serilog logging backend.
PostSharp.Patterns.Diagnostics.Backends.Trace This namespace contains the implementation of the System.Diagnostics.Trace logging backend.
PostSharp.Patterns.Diagnostics.Backends.TraceSource This namespace contains the implementation of the System.Diagnostics.TraceSource logging backend.
PostSharp.Patterns.Diagnostics.Contexts This namespace implements different kinds of logging contexts.
PostSharp.Patterns.Diagnostics.Custom This namespace contains the implementation of the custom logging front-end API. It is normally not necessary to reference this namespace in user code, as the use of the var keyword is recommended.
PostSharp.Patterns.Diagnostics.Custom.Messages This namespace contains the implementation of different message types used by the custom logging front-end API. It is normally not necessary to reference this namespace in user code, as the use of the var keyword is recommended.
PostSharp.Patterns.Diagnostics.Formatters This namespace contains the implementation of formatters used in the context of logging.
PostSharp.Patterns.Diagnostics.RecordBuilders This namespace contains the implementations of record builders (a concept similar to a StringWriter).
PostSharp.Patterns.Diagnostics.ThreadingInstrumentation This namespace contains aspects that instrument the System.Threading namespace.
PostSharp.Patterns.DynamicAdvising This namespace defines the abstractions for dynamically advisable classes, that is, classes of objects into which behaviors can be injected at run time.
PostSharp.Patterns.Formatters This namespace contains the implementation of formatters for values of different types.
PostSharp.Patterns.Model.Controls This namespace contains XAML controls for the undo/redo feature (deprecated).
PostSharp.Patterns.Model.TypeAdapters This namespace defines abstractions that allow you to use the Aggregatable pattern with third-party types.
PostSharp.Patterns.Threading.Models This namespace contains the implementation of different threading models.
PostSharp.Patterns.Utilities This namespace contains unsorted types.
PostSharp.Patterns.Xaml This namespace contains the implementation of XAML-specific patterns.
PostSharp.Reflection.MethodBody This namespace defines a code model that allows you to represent a method body as a forest of expression trees.
PostSharp.Patterns.Diagnostics.Adapters.AspNetCore This namespace allows you to instrument incoming ASP.NET Core requests using PostSharp Logging.
PostSharp.Patterns.Diagnostics.Adapters.AspNetFramework This namespace allows you to instrument incoming HTTP requests with a legacy IIS-based ASP.NET application and PostSharp Logging.
PostSharp.Patterns.Diagnostics.Adapters.DiagnosticSource This namespace allows you to collect logs emitted by DiagnosticSource into PostSharp Logging.
PostSharp.Patterns.Diagnostics.Adapters.HttpClient This namespace allows you to instrument outgoing HTTP requests using PostSharp Logging.
PostSharp.Patterns.Diagnostics.Backends.Multiplexer This namespace allows you to multiplex the output of PostSharp Logging to several backends instead of just one.
PostSharp.Patterns.Diagnostics.Transactions This namespace defines the abstractions for top-level logging transactions such as an incoming request.
PostSharp.Patterns.Diagnostics.Transactions.Model This namespace specifies the transaction configuration XML file and the classes and functions available to expressions.