ModuleBuilder.DefineType Metódus

Definíció

Létrehoz egy TypeBuilder-t. Értéktípus definiálásához adjon meg egy olyan típust, amely a forrásból ValueTypeszármazik.

Túlterhelések

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

TypeBuilder Egy adott típusnevet, attribútumokat, a meghatározott típus által kiterjesztett típust, a megadott típus csomagolási méretét és a definiált típus teljes méretét adja meg.

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

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus által kiterjesztett típust és a definiált típus által implementálható interfészeket építi fel.

DefineType(String, TypeAttributes, Type, Int32)

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus kiterjesztését és a típus teljes méretét adja meg.

DefineType(String, TypeAttributes, Type, PackingSize)

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus kiterjesztését és a típus csomagolási méretét adja meg.

DefineType(String, TypeAttributes)

TypeBuilder Egy adott típusnevet és típusattribútumot hoz létre.

DefineType(String)

Létrehoz egy TypeBuilder privát típust a modulban megadott névvel.

DefineType(String, TypeAttributes, Type)

Létrehoz egy TypeBuilder adott típusnevet, annak attribútumait és a megadott típus által kiterjesztett típust.

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

TypeBuilder Egy adott típusnevet, attribútumokat, a meghatározott típus által kiterjesztett típust, a megadott típus csomagolási méretét és a definiált típus teljes méretét adja meg.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A definiált típus attribútumai.

parent
Type

A definiált típus kiterjeszthető.

packingSize
PackingSize

A típus csomagolási mérete.

typesize
Int32

A típus teljes mérete.

Válaszok

Az TypeBuilder összes kért attribútummal létrehozott.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes:

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

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus által kiterjesztett típust és a definiált típus által implementálható interfészeket építi fel.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A típushoz társítandó attribútumok.

parent
Type

A definiált típus kiterjeszthető.

interfaces
Type[]

A típus által implementálható interfészek listája.

Válaszok

Az TypeBuilder összes kért attribútummal létrehozott.

Attribútumok

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes:

DefineType(String, TypeAttributes, Type, Int32)

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus kiterjesztését és a típus teljes méretét adja meg.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A definiált típus attribútumai.

parent
Type

A definiált típus kiterjeszthető.

typesize
Int32

A típus teljes mérete.

Válaszok

Egy TypeBuilder objektum.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Tilos két azonos nevű típust használni egy szerelvény két különböző moduljában.

A következőre érvényes:

DefineType(String, TypeAttributes, Type, PackingSize)

TypeBuilder Egy adott típusnevet, attribútumokat, a definiált típus kiterjesztését és a típus csomagolási méretét adja meg.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A definiált típus attribútumai.

parent
Type

A definiált típus kiterjeszthető.

packsize
PackingSize

A típus csomagolási mérete.

Válaszok

Egy TypeBuilder objektum.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes:

DefineType(String, TypeAttributes)

TypeBuilder Egy adott típusnevet és típusattribútumot hoz létre.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A definiált típus attribútumai.

Válaszok

Az TypeBuilder összes kért attribútummal létrehozott.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes:

DefineType(String)

Létrehoz egy TypeBuilder privát típust a modulban megadott névvel.

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

Paraméterek

name
String

A típus teljes elérési útja, beleértve a névteret is. name nem tartalmazhat beágyazott null értékeket.

Válaszok

A megadott névvel rendelkező privát típus.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes:

DefineType(String, TypeAttributes, Type)

Létrehoz egy TypeBuilder adott típusnevet, annak attribútumait és a megadott típus által kiterjesztett típust.

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

Paraméterek

name
String

A típus teljes elérési útja. name nem tartalmazhat beágyazott null értékeket.

attr
TypeAttributes

A típushoz társítandó attribútum.

parent
Type

A definiált típus kiterjeszthető.

Válaszok

Az TypeBuilder összes kért attribútummal létrehozott.

Kivételek

A modul szülőszerelvényében létezik egy megadott névvel rendelkező típus.

-vagy-

A beágyazott típusattribútumok nem beágyazott típusra vannak beállítva.

name az null.

Példák

Az alábbi példa létrehoz egy TypeBuilder aktuális dinamikus modult a használatával CreateType, létrehozza és befejezi a típust, és menti a szerelvényt.

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

Megjegyzések

A típusneveknek egyedinek kell lenniük egy szerelvényen belül. Nem lehet két azonos nevű típus egy szerelvény két különböző moduljában.

A következőre érvényes: