ModuleBuilder.DefineType Yöntem

Tanım

bir TypeBuilderoluşturur. Bir değer türü tanımlamak için, türünden ValueTypetüretilen bir tür tanımlayın.

Aşırı Yüklemeler

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

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve tanımlı türün uyguladığı arabirimleri oluşturur.

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

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü, tanımlı türün paketleme boyutunu ve tanımlı türün toplam boyutunu oluşturur.

DefineType(String, TypeAttributes, Type, PackingSize)

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve türün paketleme boyutunu oluşturur.

DefineType(String, TypeAttributes)

Belirli bir TypeBuilder tür adını ve tür özniteliklerini oluşturur.

DefineType(String, TypeAttributes, Type)

Belirli bir TypeBuilder tür adını, özniteliklerini ve tanımlı türün genişletilen türünü oluşturur.

DefineType(String, TypeAttributes, Type, Int32)

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve türün toplam boyutunu oluşturur.

DefineType(String)

Bu modülde belirtilen ada sahip bir özel tür için bir TypeBuilder oluşturur.

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

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve tanımlı türün uyguladığı arabirimleri oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Türüyle ilişkilendirilecek öznitelikler.

parent
Type

Tanımlanan türün genişletir türü.

interfaces
Type[]

Türün uyguladığı arabirimlerin listesi.

Döndürülenler

TypeBuilder İstenen tüm özniteliklerle oluşturulan.

Öznitelikler

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

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

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü, tanımlı türün paketleme boyutunu ve tanımlı türün toplam boyutunu oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Tanımlanan türün öznitelikleri.

parent
Type

Tanımlanan türün genişletir türü.

packingSize
PackingSize

Türün paketleme boyutu.

typesize
Int32

Türün toplam boyutu.

Döndürülenler

TypeBuilder İstenen tüm özniteliklerle oluşturulan.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

DefineType(String, TypeAttributes, Type, PackingSize)

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve türün paketleme boyutunu oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Tanımlanan türün öznitelikleri.

parent
Type

Tanımlanan türün genişletir türü.

packsize
PackingSize

Türün paketleme boyutu.

Döndürülenler

Bir TypeBuilder nesnesi.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

DefineType(String, TypeAttributes)

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını ve tür özniteliklerini oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Tanımlanan türün öznitelikleri.

Döndürülenler

TypeBuilder İstenen tüm özniteliklerle oluşturulan.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

DefineType(String, TypeAttributes, Type)

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını, özniteliklerini ve tanımlı türün genişletilen türünü oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Türüyle ilişkilendirilecek öznitelik.

parent
Type

Tanımlanan türün genişletir türü.

Döndürülenler

TypeBuilder İstenen tüm özniteliklerle oluşturulan.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

DefineType(String, TypeAttributes, Type, Int32)

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Belirli bir TypeBuilder tür adını, özniteliklerini, tanımlı türün genişletilen türünü ve türün toplam boyutunu oluşturur.

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

Parametreler

name
String

Türün tam yolu. name katıştırılmış null değerleri içeremez.

attr
TypeAttributes

Tanımlanan türün öznitelikleri.

parent
Type

Tanımlanan türün genişletir türü.

typesize
Int32

Türün toplam boyutu.

Döndürülenler

Bir TypeBuilder nesnesi.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki tür olması yasaktır.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

DefineType(String)

Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs
Kaynak:
ModuleBuilder.cs

Bu modülde belirtilen ada sahip bir özel tür için bir TypeBuilder oluşturur.

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

Parametreler

name
String

Ad alanı da dahil olmak üzere türün tam yolu. name katıştırılmış null değerleri içeremez.

Döndürülenler

Belirtilen ada sahip özel bir tür.

Özel durumlar

Bu modülün üst derlemesinde verilen ada sahip bir tür var.

-veya-

İç içe tür öznitelikleri, iç içe olmayan bir türe ayarlanır.

name, null değeridir.

Örnekler

Aşağıdaki örnek, kullanarak CreateTypegeçerli dinamik modülde bir TypeBuilder oluşturur, türü derleyip tamamlar ve derlemeyi kaydeder.

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")

Açıklamalar

Tür adları bir derleme içinde benzersiz olmalıdır. Bir derlemenin iki farklı modülünde aynı ada sahip iki türe sahip olamazsınız.

Not

.NET Framework 2.0 Service Pack 1'den başlayarak, bu üye artık bayrağını ReflectionPermissionFlag.ReflectionEmit gerektirmezReflectionPermission. (Bkz. Yansıma Yaymada Güvenlik Sorunları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır