ModuleBuilder.DefineType 方法

定義

建構 TypeBuilder。 若要定義值型別,請定義衍生自 ValueType 的型別。

多載

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

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別、定義型別的封裝大小和定義型別的總共大小。

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

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和定義型別實作的介面。

DefineType(String, TypeAttributes, Type, PackingSize)

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和型別的封裝大小。

DefineType(String, TypeAttributes, Type)

建構 TypeBuilder 需指定型別名稱、其屬性和定義型別所擴充的型別。

DefineType(String, TypeAttributes)

建構 TypeBuilder 需指定型別名稱和型別屬性。

DefineType(String)

在這個模組中使用指定的名稱來建構私用型別的 TypeBuilder

DefineType(String, TypeAttributes, Type, Int32)

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和型別的總共大小。

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

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別、定義型別的封裝大小和定義型別的總共大小。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packingSize, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, System.Reflection.Emit.PackingSize packingSize, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packingSize, int typesize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, packingSize As PackingSize, typesize As Integer) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

定義型別的屬性。

parent
Type

型別,定義型別所擴充的。

packingSize
PackingSize

類型的封裝大小。

typesize
Int32

型別的總大小。

傳回

使用所有要求的屬性建立的 TypeBuilder

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題.) 若要使用此功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

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

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和定義型別實作的介面。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, cli::array <Type ^> ^ interfaces);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, Type[]? interfaces);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, Type[] interfaces);
[System.Runtime.InteropServices.ComVisible(true)]
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, Type[] interfaces);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * Type[] -> System.Reflection.Emit.TypeBuilder
[<System.Runtime.InteropServices.ComVisible(true)>]
member this.DefineType : string * System.Reflection.TypeAttributes * Type * Type[] -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, interfaces As Type()) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

屬性,與型別相關聯。

parent
Type

型別,定義型別所擴充的。

interfaces
Type[]

介面清單,為型別所實作的。

傳回

使用所有要求的屬性建立的 TypeBuilder

屬性

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題.) 若要使用此功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

DefineType(String, TypeAttributes, Type, PackingSize)

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和型別的封裝大小。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packsize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, System.Reflection.Emit.PackingSize packsize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packsize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, packsize As PackingSize) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

定義型別的屬性。

parent
Type

型別,定義型別所擴充的。

packsize
PackingSize

類型的封裝大小。

傳回

TypeBuilder 物件。

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題.) 若要使用此功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

DefineType(String, TypeAttributes, Type)

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱、其屬性和定義型別所擴充的型別。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent);
member this.DefineType : string * System.Reflection.TypeAttributes * Type -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

屬性,與型別相關聯。

parent
Type

型別,定義型別所擴充的。

傳回

使用所有要求的屬性建立的 TypeBuilder

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題.) 若要使用此功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

DefineType(String, TypeAttributes)

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱和型別屬性。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr);
member this.DefineType : string * System.Reflection.TypeAttributes -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

定義型別的屬性。

傳回

使用所有要求的屬性建立的 TypeBuilder

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題 ) 若要使用這項功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

DefineType(String)

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

在這個模組中使用指定的名稱來建構私用型別的 TypeBuilder

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name);
public System.Reflection.Emit.TypeBuilder DefineType (string name);
member this.DefineType : string -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String) As TypeBuilder

參數

name
String

型別的完整路徑,包含命名空間。 name 不能包含內嵌的 null。

傳回

具有指定之名稱的私用型別。

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 元件兩個不同的模組中不能有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題 ) 若要使用這項功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於

DefineType(String, TypeAttributes, Type, Int32)

來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs
來源:
ModuleBuilder.cs

建構 TypeBuilder 需指定型別名稱、屬性、定義型別所擴充的型別和型別的總共大小。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, int typesize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, typesize As Integer) As TypeBuilder

參數

name
String

型別的完整路徑。 name 不能包含內嵌的 null。

attr
TypeAttributes

定義型別的屬性。

parent
Type

型別,定義型別所擴充的。

typesize
Int32

型別的總大小。

傳回

TypeBuilder 物件。

例外狀況

具有指定名稱的型別存在於這個模組的父組件中。

-或-

巢狀型別 (Nested Type) 屬性 (Attribute) 要設定在沒有巢狀化的型別上。

namenull

範例

下列範例會使用 CreateType在目前的動態模組中建立 TypeBuilder ,並建置並完成類型,並儲存元件。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

備註

類型名稱在元件內必須是唯一的。 在元件的兩個不同模組中,禁止有兩個具有相同名稱的類型。

注意

從 .NET Framework 2.0 Service Pack 1 開始,此成員不再需要 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit標。 (請參閱反映發出中的安全性問題 ) 若要使用這項功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

適用於