PostSharp SDK 2023.0 / / Class Reference / Post­Sharp.​Sdk.​Aspect­Infrastructure Namespace / Type­Initialization­Manager Class

TypeInitializationManager Class

Manages initialization of aspects, i.e. the generation aspect initialization methods and the enhancement of constructors so that these methods are invoked.
Inheritance Hierarchy

Namespace:  PostSharp.Sdk.AspectInfrastructure
Assembly:  PostSharp.Compiler.Engine (in PostSharp.Compiler.Engine.dll) Version: 2023.0.3.0 (2023.0.3.0)
public sealed class TypeInitializationManager : IDisposable

The TypeInitializationManager type exposes the following members.

Public methodDispose
Releases all resources used by the TypeInitializationManager
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetInitializeAspectsProtectedMethod
Gets the generated InitializeAspects protected method for a given type.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodRegisterClient(ITypeInitializationClient, TypeInitializationClientScopes)
Registers a client with scope Module, and only as a module initializer. Any other scope is ignored.
Public methodRegisterClient(TypeDefDeclaration, ITypeInitializationClient, TypeInitializationClientScopes)
Registers an ITypeInitializationClient for a given TypeDefDeclaration.
Public methodRegisterCloneClient
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)

Aspects that need to be initialized should register themselves using the RegisterClient(TypeDefDeclaration, ITypeInitializationClient, TypeInitializationClientScopes) method.

An instance of this class is available on the TypeInitializationManager property of the AspectInfrastructureTask class.

The TypeInitializationManager performs the following transformations:

See Also