This class represents a dynamically created module inside a dynamic assembly. Dynamic modules are created with the AssemblyBuilder.DefineDynamicModule( ) method. A dynamic module can be either transient or persistable, which means you can save it to disk as part of a PE file. To create a persistable module, use a version of the AssemblyBuilder.DefineDynamicModule( ) method that allows you to specify a filename.

You can use the methods that begin with Define to create types, managed and unmanaged resources, global methods, and PInvoke (global native) methods.

public class ModuleBuilder : System.Reflection.Module {
// Public Instance Properties
   public override string FullyQualifiedName{get; }   
// overrides System.Reflection.Module
                  // Public Instance Methods
   public void CreateGlobalFunctions( );
   public ISymbolDocumentWriter DefineDocument(string url, Guid language, Guid languageVendor,
       Guid documentType);
   public EnumBuilder DefineEnum(string name, System.Reflection.TypeAttributes visibility, 
        Type underlyingType);
   public MethodBuilder DefineGlobalMethod(string name, System.Reflection.MethodAttributes attributes,
       System.Reflection.CallingConventions callingConvention,Type returnType, Type[ ] parameterTypes);
   public MethodBuilder DefineGlobalMethod(string name, System.Reflection.MethodAttributes attributes,
       Type returnType, Type[ ] parameterTypes);
   public FieldBuilder DefineInitializedData(string name, byte[ ] data, 
        System.Reflection.FieldAttributes attributes ...

Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.