ModuleInitializerAttribute Class


Used to indicate to the compiler that a method should be called in its containing module's initializer.

public ref class ModuleInitializerAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class ModuleInitializerAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type ModuleInitializerAttribute = class
    inherit Attribute
Public NotInheritable Class ModuleInitializerAttribute
Inherits Attribute


When one or more valid methods with this attribute are found in a compilation, the compiler will emit a module initializer that calls each of the attributed methods.

Certain requirements are imposed on any method targeted with this attribute:

  • The method must be static.
  • The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, and so on.
  • The method must be parameterless.
  • The method must return void.
  • The method must not be generic or be contained in a generic type.
  • The method's effective accessibility must be internal or public.

For more information, see the specification for module initializers.



Initializes a new instance of the ModuleInitializerAttribute class.



When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)



Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)

Returns the hash code for this instance.

(Inherited from Attribute)

Gets the Type of the current instance.

(Inherited from Object)

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)

Creates a shallow copy of the current Object.

(Inherited from Object)

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to