ModuleBuilder.DefineType Methode

Definitie

Maakt een TypeBuilder. Als u een waardetype wilt definiëren, definieert u een type dat is afgeleid van ValueType.

Overloads

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

Hiermee maakt u een TypeBuilder bepaalde typenaam, kenmerken, het type dat het gedefinieerde type uitbreidt, de verpakkingsgrootte van het gedefinieerde type en de totale grootte van het gedefinieerde type.

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

Hiermee maakt u een TypeBuilder bepaalde typenaam, kenmerken, het type dat het gedefinieerde type uitbreidt en de interfaces die door het gedefinieerde type worden geïmplementeerd.

DefineType(String, TypeAttributes, Type, Int32)

Hiermee maakt u een TypeBuilder bepaalde typenaam, de kenmerken, het type dat het gedefinieerde type uitbreidt en de totale grootte van het type.

DefineType(String, TypeAttributes, Type, PackingSize)

Hiermee wordt een TypeBuilder bepaalde typenaam samengesteld, de kenmerken, het type dat het gedefinieerde type uitbreidt en de verpakkingsgrootte van het type.

DefineType(String, TypeAttributes)

Hiermee wordt een TypeBuilder bepaalde typenaam en de typekenmerken samengesteld.

DefineType(String)

Hiermee maakt u een TypeBuilder voor een privétype met de opgegeven naam in deze module.

DefineType(String, TypeAttributes, Type)

Hiermee maakt u een TypeBuilder bepaalde typenaam, de bijbehorende kenmerken en het type dat het gedefinieerde type uitbreidt.

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

Hiermee maakt u een TypeBuilder bepaalde typenaam, kenmerken, het type dat het gedefinieerde type uitbreidt, de verpakkingsgrootte van het gedefinieerde type en de totale grootte van het gedefinieerde type.

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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

De kenmerken van het gedefinieerde type.

parent
Type

Het type dat het gedefinieerde type uitbreidt.

packingSize
PackingSize

De verpakkingsgrootte van het type.

typesize
Int32

De totale grootte van het type.

Retouren

Een TypeBuilder gemaakt met alle aangevraagde kenmerken.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op

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

Hiermee maakt u een TypeBuilder bepaalde typenaam, kenmerken, het type dat het gedefinieerde type uitbreidt en de interfaces die door het gedefinieerde type worden geïmplementeerd.

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);
[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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

De kenmerken die aan het type moeten worden gekoppeld.

parent
Type

Het type dat het gedefinieerde type uitbreidt.

interfaces
Type[]

De lijst met interfaces die door het type worden geïmplementeerd.

Retouren

Een TypeBuilder gemaakt met alle aangevraagde kenmerken.

Kenmerken

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op

DefineType(String, TypeAttributes, Type, Int32)

Hiermee maakt u een TypeBuilder bepaalde typenaam, de kenmerken, het type dat het gedefinieerde type uitbreidt en de totale grootte van het type.

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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

De kenmerken van het gedefinieerde type.

parent
Type

Het type dat het gedefinieerde type uitbreidt.

typesize
Int32

De totale grootte van het type.

Retouren

Een TypeBuilder-object.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. Het is verboden om twee typen met dezelfde naam in twee verschillende modules van een assembly te hebben.

Van toepassing op

DefineType(String, TypeAttributes, Type, PackingSize)

Hiermee wordt een TypeBuilder bepaalde typenaam samengesteld, de kenmerken, het type dat het gedefinieerde type uitbreidt en de verpakkingsgrootte van het type.

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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

De kenmerken van het gedefinieerde type.

parent
Type

Het type dat het gedefinieerde type uitbreidt.

packsize
PackingSize

De verpakkingsgrootte van het type.

Retouren

Een TypeBuilder-object.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op

DefineType(String, TypeAttributes)

Hiermee wordt een TypeBuilder bepaalde typenaam en de typekenmerken samengesteld.

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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

De kenmerken van het gedefinieerde type.

Retouren

Een TypeBuilder gemaakt met alle aangevraagde kenmerken.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op

DefineType(String)

Hiermee maakt u een TypeBuilder voor een privétype met de opgegeven naam in deze module.

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

Parameters

name
String

Het volledige pad van het type, inclusief de naamruimte. name kan geen ingesloten null-waarden bevatten.

Retouren

Een privétype met de opgegeven naam.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op

DefineType(String, TypeAttributes, Type)

Hiermee maakt u een TypeBuilder bepaalde typenaam, de bijbehorende kenmerken en het type dat het gedefinieerde type uitbreidt.

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

Parameters

name
String

Het volledige pad van het type. name kan geen ingesloten null-waarden bevatten.

attr
TypeAttributes

Het kenmerk dat moet worden gekoppeld aan het type.

parent
Type

Het type dat het gedefinieerde type uitbreidt.

Retouren

Een TypeBuilder gemaakt met alle aangevraagde kenmerken.

Uitzonderingen

Er bestaat een type met de opgegeven naam in de bovenliggende assembly van deze module.

– of –

Geneste typekenmerken worden ingesteld op een type dat niet is genest.

name is null.

Voorbeelden

In het volgende voorbeeld wordt een TypeBuilder in de huidige dynamische module gemaakt met behulp van CreateType, bouwt en voltooit u het type en slaat u de assembly op.

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

Opmerkingen

Typenamen moeten uniek zijn binnen een assembly. U kunt geen twee typen met dezelfde naam hebben in twee verschillende modules van een assembly.

Van toepassing op