ModuleBuilder.DefineType Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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) |
|
| DefineType(String, TypeAttributes, Type, Type[]) |
|
| DefineType(String, TypeAttributes, Type, Int32) |
|
| DefineType(String, TypeAttributes, Type, PackingSize) |
|
| DefineType(String, TypeAttributes) |
|
| DefineType(String) |
Létrehoz egy |
| DefineType(String, TypeAttributes, Type) |
Létrehoz egy |
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.