共用方式為


ModuleBuilder 類別

定義

定義並代表動態元件中的模組。

public ref class ModuleBuilder : System::Reflection::Module
public ref class ModuleBuilder abstract : System::Reflection::Module
public ref class ModuleBuilder : System::Reflection::Module, System::Runtime::InteropServices::_ModuleBuilder
public class ModuleBuilder : System.Reflection.Module
public abstract class ModuleBuilder : System.Reflection.Module
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ModuleBuilder : System.Reflection.Module, System.Runtime.InteropServices._ModuleBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ModuleBuilder : System.Reflection.Module, System.Runtime.InteropServices._ModuleBuilder
type ModuleBuilder = class
    inherit Module
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ModuleBuilder = class
    inherit Module
    interface _ModuleBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ModuleBuilder = class
    inherit Module
    interface _ModuleBuilder
Public Class ModuleBuilder
Inherits Module
Public MustInherit Class ModuleBuilder
Inherits Module
Public Class ModuleBuilder
Inherits Module
Implements _ModuleBuilder
繼承
ModuleBuilder
屬性
實作

範例

下列程式代碼範例示範如何使用 ModuleBuilder 來建立動態模組。 請注意,ModuleBuilder 是在 AssemblyBuilder中呼叫 DefineDynamicModule,而不是透過建構函式來建立。

using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
public ref class CodeGenerator
{
private:
   AssemblyBuilder^ myAssemblyBuilder;

public:
   CodeGenerator()
   {
      // Get the current application domain for the current thread.
      AppDomain^ myCurrentDomain = AppDomain::CurrentDomain;
      AssemblyName^ myAssemblyName = gcnew AssemblyName;
      myAssemblyName->Name = "TempAssembly";

      // Define a dynamic assembly in the current application domain.
      myAssemblyBuilder = myCurrentDomain->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::Run );

      // Define a dynamic module in this assembly.
      ModuleBuilder^ myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "TempModule" );

      // Define a runtime class with specified name and attributes.
      TypeBuilder^ myTypeBuilder = myModuleBuilder->DefineType( "TempClass", TypeAttributes::Public );

      // Add 'Greeting' field to the class, with the specified attribute and type.
      FieldBuilder^ greetingField = myTypeBuilder->DefineField( "Greeting", String::typeid, FieldAttributes::Public );
      array<Type^>^myMethodArgs = {String::typeid};

      // Add 'MyMethod' method to the class, with the specified attribute and signature.
      MethodBuilder^ myMethod = myTypeBuilder->DefineMethod( "MyMethod", MethodAttributes::Public, CallingConventions::Standard, nullptr, myMethodArgs );
      ILGenerator^ methodIL = myMethod->GetILGenerator();
      methodIL->EmitWriteLine( "In the method..." );
      methodIL->Emit( OpCodes::Ldarg_0 );
      methodIL->Emit( OpCodes::Ldarg_1 );
      methodIL->Emit( OpCodes::Stfld, greetingField );
      methodIL->Emit( OpCodes::Ret );
      myTypeBuilder->CreateType();
   }

   property AssemblyBuilder^ MyAssembly 
   {
      AssemblyBuilder^ get()
      {
         return this->myAssemblyBuilder;
      }
   }
};

int main()
{
   CodeGenerator^ myCodeGenerator = gcnew CodeGenerator;

   // Get the assembly builder for 'myCodeGenerator' object.
   AssemblyBuilder^ myAssemblyBuilder = myCodeGenerator->MyAssembly;

   // Get the module builder for the above assembly builder object .
   ModuleBuilder^ myModuleBuilder = myAssemblyBuilder->GetDynamicModule( "TempModule" );
   Console::WriteLine( "The fully qualified name and path to this module is :{0}", myModuleBuilder->FullyQualifiedName );
   Type^ myType = myModuleBuilder->GetType( "TempClass" );
   MethodInfo^ myMethodInfo = myType->GetMethod( "MyMethod" );

   // Get the token used to identify the method within this module.
   MethodToken myMethodToken = myModuleBuilder->GetMethodToken( myMethodInfo );
   Console::WriteLine( "Token used to identify the method of 'myType'"
   " within the module is {0:x}", myMethodToken.Token );
   array<Object^>^args = {"Hello."};
   Object^ myObject = Activator::CreateInstance( myType, nullptr, nullptr );
   myMethodInfo->Invoke( myObject, args );
}
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Security.Permissions;

public class CodeGenerator
{
   AssemblyBuilder myAssemblyBuilder;
   public CodeGenerator()
   {
      // Get the current application domain for the current thread.
      AppDomain myCurrentDomain = AppDomain.CurrentDomain;
      AssemblyName myAssemblyName = new AssemblyName();
      myAssemblyName.Name = "TempAssembly";

      // Define a dynamic assembly in the current application domain.
      myAssemblyBuilder = myCurrentDomain.DefineDynamicAssembly
                     (myAssemblyName, AssemblyBuilderAccess.Run);

      // Define a dynamic module in this assembly.
      ModuleBuilder myModuleBuilder = myAssemblyBuilder.
                                      DefineDynamicModule("TempModule");

      // Define a runtime class with specified name and attributes.
      TypeBuilder myTypeBuilder = myModuleBuilder.DefineType
                                       ("TempClass",TypeAttributes.Public);

      // Add 'Greeting' field to the class, with the specified attribute and type.
      FieldBuilder greetingField = myTypeBuilder.DefineField("Greeting",
                                                            typeof(String), FieldAttributes.Public);
      Type[] myMethodArgs = { typeof(String) };

      // Add 'MyMethod' method to the class, with the specified attribute and signature.
      MethodBuilder myMethod = myTypeBuilder.DefineMethod("MyMethod",
         MethodAttributes.Public, CallingConventions.Standard, null,myMethodArgs);

      ILGenerator methodIL = myMethod.GetILGenerator();
      methodIL.EmitWriteLine("In the method...");
      methodIL.Emit(OpCodes.Ldarg_0);
      methodIL.Emit(OpCodes.Ldarg_1);
      methodIL.Emit(OpCodes.Stfld, greetingField);
      methodIL.Emit(OpCodes.Ret);
      myTypeBuilder.CreateType();
   }
   public AssemblyBuilder MyAssembly
   {
      get
      {
         return this.myAssemblyBuilder;
      }
   }
}
public class TestClass
{
   public static void Main()
   {
      CodeGenerator myCodeGenerator = new CodeGenerator();
      // Get the assembly builder for 'myCodeGenerator' object.
      AssemblyBuilder myAssemblyBuilder = myCodeGenerator.MyAssembly;
      // Get the module builder for the above assembly builder object .
      ModuleBuilder myModuleBuilder = myAssemblyBuilder.
                                                           GetDynamicModule("TempModule");
      Console.WriteLine("The fully qualified name and path to this "
                               + "module is :" +myModuleBuilder.FullyQualifiedName);
      Type myType = myModuleBuilder.GetType("TempClass");
      MethodInfo myMethodInfo =
                                                myType.GetMethod("MyMethod");
       // Get the token used to identify the method within this module.
      MethodToken myMethodToken =
                        myModuleBuilder.GetMethodToken(myMethodInfo);
      Console.WriteLine("Token used to identify the method of 'myType'"
                    + " within the module is {0:x}",myMethodToken.Token);
     object[] args={"Hello."};
     object myObject = Activator.CreateInstance(myType,null,null);
     myMethodInfo.Invoke(myObject,args);
   }
}
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Security.Permissions

Public Class CodeGenerator
   Private myAssemblyBuilder As AssemblyBuilder

   Public Sub New()
      ' Get the current application domain for the current thread.
      Dim myCurrentDomain As AppDomain = AppDomain.CurrentDomain
      Dim myAssemblyName As New AssemblyName()
      myAssemblyName.Name = "TempAssembly"

      ' Define a dynamic assembly in the current application domain.
      myAssemblyBuilder = _
               myCurrentDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run)

      ' Define a dynamic module in this assembly.
      Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule")

      ' Define a runtime class with specified name and attributes.
      Dim myTypeBuilder As TypeBuilder = _
               myModuleBuilder.DefineType("TempClass", TypeAttributes.Public)

      ' Add 'Greeting' field to the class, with the specified attribute and type.
      Dim greetingField As FieldBuilder = _
               myTypeBuilder.DefineField("Greeting", GetType(String), FieldAttributes.Public)
      Dim myMethodArgs As Type() = {GetType(String)}

      ' Add 'MyMethod' method to the class, with the specified attribute and signature.
      Dim myMethod As MethodBuilder = _
               myTypeBuilder.DefineMethod("MyMethod", MethodAttributes.Public, _
               CallingConventions.Standard, Nothing, myMethodArgs)

      Dim methodIL As ILGenerator = myMethod.GetILGenerator()
      methodIL.EmitWriteLine("In the method...")
      methodIL.Emit(OpCodes.Ldarg_0)
      methodIL.Emit(OpCodes.Ldarg_1)
      methodIL.Emit(OpCodes.Stfld, greetingField)
      methodIL.Emit(OpCodes.Ret)
      myTypeBuilder.CreateType()
   End Sub

   Public ReadOnly Property MyAssembly() As AssemblyBuilder
      Get
         Return Me.myAssemblyBuilder
      End Get
   End Property
End Class

Public Class TestClass
   <PermissionSetAttribute(SecurityAction.Demand, Name:="FullTrust")> _
   Public Shared Sub Main()
      Dim myCodeGenerator As New CodeGenerator()
      ' Get the assembly builder for 'myCodeGenerator' object.
      Dim myAssemblyBuilder As AssemblyBuilder = myCodeGenerator.MyAssembly
      ' Get the module builder for the above assembly builder object .
      Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.GetDynamicModule("TempModule")
      Console.WriteLine("The fully qualified name and path to this " + _
                        "module is :" + myModuleBuilder.FullyQualifiedName)
      Dim myType As Type = myModuleBuilder.GetType("TempClass")
      Dim myMethodInfo As MethodInfo = myType.GetMethod("MyMethod")
      ' Get the token used to identify the method within this module.
      Dim myMethodToken As MethodToken = myModuleBuilder.GetMethodToken(myMethodInfo)
      Console.WriteLine("Token used to identify the method of 'myType'" + _
                        " within the module is {0:x}", myMethodToken.Token)
      Dim args As Object() = {"Hello."}
      Dim myObject As Object = Activator.CreateInstance(myType, Nothing, Nothing)
      myMethodInfo.Invoke(myObject, args)
   End Sub
End Class

備註

若要取得 ModuleBuilder實例,請使用 AssemblyBuilder.DefineDynamicModule 方法。

建構函式

ModuleBuilder()

初始化 ModuleBuilder 類別的新實例。

屬性

Assembly

取得定義這個實例 ModuleBuilder的動態元件。

Assembly

取得這個 Module實例的適當 Assembly

(繼承來源 Module)
CustomAttributes

取得集合,其中包含此模組的自定義屬性。

(繼承來源 Module)
FullyQualifiedName

取得 String,表示此課程模組的完整名稱和路徑。

MDStreamVersion

取得元數據數據流版本。

MDStreamVersion

取得元數據數據流版本。

(繼承來源 Module)
MetadataToken

取得識別元數據中目前動態模組的令牌。

MetadataToken

取得識別元數據中模組的令牌。

(繼承來源 Module)
ModuleHandle

取得模組的句柄。

(繼承來源 Module)
ModuleVersionId

取得通用唯一標識碼 (UUID),可用來區分模組的兩個版本。

ModuleVersionId

取得通用唯一標識碼 (UUID),可用來區分模組的兩個版本。

(繼承來源 Module)
Name

字串,表示這是記憶體內部模組。

Name

取得 String,表示已移除路徑之模組的名稱。

(繼承來源 Module)
ScopeName

取得字串,表示動態模組的名稱。

ScopeName

取得表示模組名稱的字串。

(繼承來源 Module)

方法

CreateGlobalFunctions()

完成此動態模組的全域函式定義和全域數據定義。

CreateGlobalFunctionsCore()

在衍生類別中覆寫時,完成此動態模組的全域函式定義和全域數據定義。

DefineDocument(String, Guid)

定義來源的檔。

DefineDocument(String, Guid, Guid, Guid)

定義來源的檔。

DefineDocumentCore(String, Guid)

在衍生類別中覆寫時,定義來源的檔。

DefineEnum(String, TypeAttributes, Type)

定義列舉型別,這個型別是實值型別,其具有稱為指定型別 value__ 的單一非靜態字段。

DefineEnumCore(String, TypeAttributes, Type)

在衍生類別中覆寫時,定義列舉型別,該型別是實值型別,其具有稱為指定型別之value__的單一非靜態字段。

DefineGlobalMethod(String, MethodAttributes, CallingConventions, Type, Type[])

定義具有指定名稱、屬性、呼叫慣例、傳回型別和參數型別的全域方法。

DefineGlobalMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])

定義具有指定名稱、屬性、呼叫慣例、傳回型別、傳回型別、傳回型別、參數型別和參數型別自定義修飾詞的全域方法。

DefineGlobalMethod(String, MethodAttributes, Type, Type[])

定義具有指定名稱、屬性、傳回型別和參數型別的全域方法。

DefineGlobalMethodCore(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])

在衍生類別中覆寫時,定義具有指定名稱、屬性、呼叫慣例、傳回型別、傳回型別、傳回型別的自定義修飾詞、參數型別的全域方法,以及參數型別的自定義修飾詞。

DefineInitializedData(String, Byte[], FieldAttributes)

在可攜式可執行檔 (PE) 檔案的 .sdata 區段中定義初始化的數據欄位。

DefineInitializedDataCore(String, Byte[], FieldAttributes)

在衍生類別中覆寫時,請在可攜式可執行檔 (PE) 檔案的 .sdata 區段中定義初始化的數據欄位。

DefineManifestResource(String, Stream, ResourceAttributes)

定義二進位大型物件 (BLOB),代表要內嵌在動態元件中的指令清單資源。

DefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)

PInvoke 使用指定的名稱、定義方法所在的 DLL 名稱、方法的屬性、方法的呼叫慣例、方法的傳回型別、方法的傳回型別、方法的參數類型,以及 PInvoke 旗標。

DefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)

PInvoke 使用指定的名稱、定義方法所在的 DLL 名稱、方法的屬性、方法的呼叫慣例、方法的傳回型別、方法的傳回型別、方法的參數類型,以及 PInvoke 旗標。

DefinePInvokeMethodCore(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)

在衍生類別中覆寫時,定義 PInvoke 方法。

DefineResource(String, String)

定義要儲存在此課程模組中的具名受控內嵌資源。

DefineResource(String, String, ResourceAttributes)

使用要儲存在此課程模組中的指定屬性,定義具名受控內嵌資源。

DefineType(String)

針對在此課程模組中具有指定名稱的私人型別建構 TypeBuilder

DefineType(String, TypeAttributes)

根據型別名稱和型別屬性,建構 TypeBuilder

DefineType(String, TypeAttributes, Type)

建構 TypeBuilder 指定的型別名稱、其屬性,以及定義型別所延伸的類型。

DefineType(String, TypeAttributes, Type, Int32)

建構 TypeBuilder 指定類型名稱、屬性、定義型別所擴充的類型,以及型別的總大小。

DefineType(String, TypeAttributes, Type, PackingSize)

建構 TypeBuilder 指定類型名稱、屬性、定義型別所擴充的類型,以及型別的封裝大小。

DefineType(String, TypeAttributes, Type, PackingSize, Int32)

建構 TypeBuilder 指定類型名稱、屬性、定義型別所擴充的類型、已定義型別的封裝大小,以及定義型別的總大小。

DefineType(String, TypeAttributes, Type, Type[])

建構 TypeBuilder,指定類型名稱、屬性、定義型別所擴充的類型,以及定義型別實作的介面。

DefineTypeCore(String, TypeAttributes, Type, Type[], PackingSize, Int32)

在衍生類別中覆寫時,會建構 TypeBuilder

DefineUninitializedData(String, Int32, FieldAttributes)

在可攜式可執行檔 (PE) 檔案的 .sdata 區段中定義未初始化的資料欄位。

DefineUninitializedDataCore(String, Int32, FieldAttributes)

在衍生類別中覆寫時,請在可攜式可執行檔 (PE) 檔案的 .sdata 區段中定義未初始化的數據欄位。

DefineUnmanagedResource(Byte[])

定義未受管理的內嵌資源,指定不透明的二進位大型物件 (BLOB) 位元組。

DefineUnmanagedResource(String)

定義指定 Win32 資源檔案名稱的 Unmanaged 資源。

Equals(Object)

傳回值,這個值表示這個實例是否等於指定的物件。

Equals(Object)

判斷此模組和指定的物件是否相等。

(繼承來源 Module)
FindTypes(TypeFilter, Object)

傳回指定篩選條件和篩選準則所接受的類別陣列。

(繼承來源 Module)
GetArrayMethod(Type, String, CallingConventions, Type, Type[])

傳回陣類別上的具名方法。

GetArrayMethodCore(Type, String, CallingConventions, Type, Type[])

在衍生類別中覆寫時,傳回數位類別上的具名方法。

GetArrayMethodToken(Type, String, CallingConventions, Type, Type[])

傳回數位類別上具名方法的標記。

GetConstructorToken(ConstructorInfo)

傳回令牌,用來識別此模組內的指定建構函式。

GetConstructorToken(ConstructorInfo, IEnumerable<Type>)

傳回標記,用來識別此模組內具有指定屬性和參數類型的建構函式。

GetCustomAttributes(Boolean)

傳回已套用至目前 ModuleBuilder的所有自定義屬性。

GetCustomAttributes(Boolean)

傳回所有自定義屬性。

(繼承來源 Module)
GetCustomAttributes(Type, Boolean)

傳回已套用至目前 ModuleBuilder的所有自定義屬性,以及衍生自指定屬性類型的所有自定義屬性。

GetCustomAttributes(Type, Boolean)

取得指定型別的自定義屬性。

(繼承來源 Module)
GetCustomAttributesData()

傳回已套用至目前 ModuleBuilder的屬性相關信息,以 CustomAttributeData 物件表示。

GetCustomAttributesData()

傳回目前模組的 CustomAttributeData 物件清單,可用於僅限反映的內容中。

(繼承來源 Module)
GetField(String)

傳回具有指定名稱的欄位。

(繼承來源 Module)
GetField(String, BindingFlags)

傳回模組層級欄位,定義於可攜式可執行檔 (PE) 檔案的 .sdata 區域中,該檔案具有指定的名稱和系結屬性。

GetField(String, BindingFlags)

傳回具有指定名稱和系結屬性的欄位。

(繼承來源 Module)
GetFieldMetadataToken(FieldInfo)

在衍生類別中覆寫時,傳回相對於Module之指定 FieldInfo 的元數據令牌。

GetFields()

傳回模組上定義的全域欄位。

(繼承來源 Module)
GetFields(BindingFlags)

傳回符合指定系結旗標之可攜式可執行檔 (PE) 檔案之 .sdata 區域中定義的所有欄位。

GetFields(BindingFlags)

傳回模組上定義的全域字段,該欄位符合指定的系結旗標。

(繼承來源 Module)
GetFieldToken(FieldInfo)

傳回標記,用來識別此課程模組內的指定欄位。

GetHashCode()

傳回這個實例的哈希碼。

GetHashCode()

傳回這個實例的哈希碼。

(繼承來源 Module)
GetMethod(String)

傳回具有指定名稱的方法。

(繼承來源 Module)
GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

傳回具有指定名稱、系結資訊、呼叫慣例和參數類型和修飾詞的方法。

(繼承來源 Module)
GetMethod(String, Type[])

傳回具有指定名稱和參數型別的方法。

(繼承來源 Module)
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

傳回符合指定準則的模組層級方法。

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

根據指定的準則傳回方法實作。

(繼承來源 Module)
GetMethodMetadataToken(ConstructorInfo)

在衍生類別中覆寫時,傳回相對於Module之指定 ConstructorInfo 的元數據令牌。

GetMethodMetadataToken(MethodInfo)

在衍生類別中覆寫時,傳回相對於Module之指定 MethodInfo 的元數據令牌。

GetMethods()

傳回模組上定義的全域方法。

(繼承來源 Module)
GetMethods(BindingFlags)

傳回目前 ModuleBuilder模組層級定義的所有方法,且符合指定的系結旗標。

GetMethods(BindingFlags)

傳回模組上定義的全域方法,這些方法符合指定的系結旗標。

(繼承來源 Module)
GetMethodToken(MethodInfo)

傳回令牌,用來識別此課程模組內的指定方法。

GetMethodToken(MethodInfo, IEnumerable<Type>)

傳回令牌,用來識別在此課程模組中具有指定屬性和參數型別的方法。

GetObjectData(SerializationInfo, StreamingContext)
已淘汰.

提供串行化物件的 ISerializable 實作。

(繼承來源 Module)
GetPEKind(PortableExecutableKinds, ImageFileMachine)

取得一組值,指出模組中的程式代碼本質,以及模組的目標平臺。

GetPEKind(PortableExecutableKinds, ImageFileMachine)

取得一組值,指出模組中的程式代碼本質,以及模組的目標平臺。

(繼承來源 Module)
GetSignatureMetadataToken(SignatureHelper)

在衍生類別中覆寫時,傳回相對於Module之指定 SignatureHelper 的元數據令牌。

GetSignatureToken(Byte[], Int32)

定義具有指定字元陣列和簽章長度之簽章的令牌。

GetSignatureToken(SignatureHelper)

定義指定之 SignatureHelper所定義之簽章的令牌。

GetSignerCertificate()

傳回對應至此模組所屬元件之 Authenticode 簽章中所含憑證的 X509Certificate 物件。 如果元件尚未簽署 Authenticode,則會傳回 null

GetSignerCertificate()

傳回對應至此模組所屬元件之 Authenticode 簽章中所含憑證的 X509Certificate 物件。 如果元件尚未簽署 Authenticode,則會傳回 null

(繼承來源 Module)
GetStringConstant(String)

傳回模組常數集區中指定字串的標記。

GetStringMetadataToken(String)

在衍生類別中覆寫時,傳回相對於Module之指定 String 常數的元數據標記。

GetSymWriter()

傳回與此動態模組相關聯的符號寫入器。

GetType()

取得目前實例的 Type

(繼承來源 Object)
GetType(String)

取得模組中定義的具名型別。

GetType(String)

傳回指定的型別,執行區分大小寫的搜尋。

(繼承來源 Module)
GetType(String, Boolean)

取得模組中定義的具名型別,選擇性地忽略類型名稱的案例。

GetType(String, Boolean)

傳回指定的型別,使用指定的區分大小寫搜尋模組。

(繼承來源 Module)
GetType(String, Boolean, Boolean)

取得模組中定義的具名型別,選擇性地忽略類型名稱的案例。 如果找不到類型,選擇性地擲回例外狀況。

GetType(String, Boolean, Boolean)

傳回指定的型別,指定是否要對模組進行區分大小寫的搜尋,以及在找不到類型時是否擲回例外狀況。

(繼承來源 Module)
GetTypeMetadataToken(Type)

在衍生類別中覆寫時,傳回相對於Module之指定 Type 的元數據令牌。

GetTypes()

傳回此模組內定義的所有類別。

GetTypes()

傳回此課程模組內定義的所有類型。

(繼承來源 Module)
GetTypeToken(String)

傳回用來識別具有指定名稱之型別的令牌。

GetTypeToken(Type)

傳回用來識別此模組內指定型別的令牌。

IsDefined(Type, Boolean)

傳回值,這個值表示指定的屬性類型是否已套用至此模組。

IsDefined(Type, Boolean)

傳回值,這個值表示指定的屬性類型是否已套用至此模組。

(繼承來源 Module)
IsResource()

取得值,指出物件是否為資源。

IsResource()

取得值,指出物件是否為資源。

(繼承來源 Module)
IsTransient()

傳回值,這個值表示這個動態模組是否為暫時性模組。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ResolveField(Int32)

傳回指定之元數據標記所識別的欄位。

(繼承來源 Module)
ResolveField(Int32, Type[], Type[])

傳回指定元數據標記所識別的欄位,該欄位位於指定泛型型別參數所定義的內容中。

ResolveField(Int32, Type[], Type[])

傳回指定元數據標記所識別的欄位,該欄位位於指定泛型型別參數所定義的內容中。

(繼承來源 Module)
ResolveMember(Int32)

傳回指定之元數據令牌所識別的類型或成員。

(繼承來源 Module)
ResolveMember(Int32, Type[], Type[])

傳回指定之元數據標記所識別的類型或成員,該類型或成員是在指定的泛型型別參數所定義的內容中。

ResolveMember(Int32, Type[], Type[])

傳回指定之元數據標記所識別的類型或成員,該類型或成員是在指定的泛型型別參數所定義的內容中。

(繼承來源 Module)
ResolveMethod(Int32)

傳回指定之元數據令牌所識別的方法或建構函式。

(繼承來源 Module)
ResolveMethod(Int32, Type[], Type[])

傳回指定之元數據標記所識別的方法或建構函式,該方法或建構函式是在指定泛型型別參數所定義的內容中。

ResolveMethod(Int32, Type[], Type[])

傳回指定之元數據標記所識別的方法或建構函式,該方法或建構函式是在指定泛型型別參數所定義的內容中。

(繼承來源 Module)
ResolveSignature(Int32)

傳回元數據令牌所識別的簽章 Blob。

ResolveSignature(Int32)

傳回元數據令牌所識別的簽章 Blob。

(繼承來源 Module)
ResolveString(Int32)

傳回指定之元數據標記所識別的字串。

ResolveString(Int32)

傳回指定之元數據標記所識別的字串。

(繼承來源 Module)
ResolveType(Int32)

傳回指定之元數據標記所識別的類型。

(繼承來源 Module)
ResolveType(Int32, Type[], Type[])

傳回指定之元數據標記所識別的類型,該型別是在指定泛型型別參數所定義的內容中。

ResolveType(Int32, Type[], Type[])

傳回指定之元數據標記所識別的類型,該型別是在指定泛型型別參數所定義的內容中。

(繼承來源 Module)
SetCustomAttribute(ConstructorInfo, Byte[])

使用代表屬性的指定二進位大型物件(BLOB),將自定義屬性套用至此模組。

SetCustomAttribute(CustomAttributeBuilder)

使用自訂屬性產生器,將自定義屬性套用至此模組。

SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>)

在衍生類別中覆寫時,在此元件上設定自定義屬性。

SetSymCustomAttribute(String, Byte[])

此方法不會執行任何動作。

SetUserEntryPoint(MethodInfo)

設定用戶進入點。

ToString()

傳回模組的名稱。

(繼承來源 Module)

明確介面實作

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

將一組名稱對應至對應的分派標識碼集。

(繼承來源 Module)
_Module.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取 物件的類型資訊,然後可用來取得介面的類型資訊。

(繼承來源 Module)
_Module.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目(0 或 1)。

(繼承來源 Module)
_Module.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開屬性和方法的存取權。

(繼承來源 Module)
_ModuleBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

如需此成員的描述,請參閱 GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

_ModuleBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

如需此成員的描述,請參閱 GetTypeInfo(UInt32, UInt32, IntPtr)

_ModuleBuilder.GetTypeInfoCount(UInt32)

如需此成員的描述,請參閱 GetTypeInfoCount(UInt32)

_ModuleBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

如需此成員的描述,請參閱 Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

ICustomAttributeProvider.GetCustomAttributes(Boolean)

傳回這個成員上定義之所有自定義屬性的陣列,不包括具名屬性,如果沒有自定義屬性,則傳回空陣列。

(繼承來源 Module)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

傳回在此成員上定義的自定義屬性陣列,依類型識別,如果沒有該類型的自定義屬性,則傳回空陣列。

(繼承來源 Module)
ICustomAttributeProvider.IsDefined(Type, Boolean)

指出這個成員上是否已定義一或多個 attributeType 實例。

(繼承來源 Module)

擴充方法

GetCustomAttribute(Module, Type)

擷取套用至指定模組之指定型別的自定義屬性。

GetCustomAttribute<T>(Module)

擷取套用至指定模組之指定型別的自定義屬性。

GetCustomAttributes(Module)

擷取套用至指定模組的自定義屬性集合。

GetCustomAttributes(Module, Type)

擷取套用至指定模組之指定型別的自定義屬性集合。

GetCustomAttributes<T>(Module)

擷取套用至指定模組之指定型別的自定義屬性集合。

IsDefined(Module, Type)

指出指定的型別的自定義屬性是否套用至指定的模組。

GetModuleVersionId(Module)

定義並代表動態元件中的模組。

HasModuleVersionId(Module)

定義並代表動態元件中的模組。

適用於