ModuleBuilder.DefineType Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konstruerar en TypeBuilder. Definiera en värdetyp genom att definiera en typ som härleds från ValueType.
Överlagringar
| Name | Description |
|---|---|
| DefineType(String, TypeAttributes, Type, PackingSize, Int32) |
Skapar ett |
| DefineType(String, TypeAttributes, Type, Type[]) |
Konstruerar ett |
| DefineType(String, TypeAttributes, Type, Int32) |
Konstruerar ett |
| DefineType(String, TypeAttributes, Type, PackingSize) |
Konstruerar ett |
| DefineType(String, TypeAttributes) |
Konstruerar ett |
| DefineType(String) |
Konstruerar en |
| DefineType(String, TypeAttributes, Type) |
Konstruerar ett |
DefineType(String, TypeAttributes, Type, PackingSize, Int32)
Skapar ett TypeBuilder givet typnamn, attribut, den typ som den definierade typen utökar, förpackningsstorleken för den definierade typen och den totala storleken på den definierade typen.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributen för den definierade typen.
- parent
- Type
Den typ som den definierade typen utökar.
- packingSize
- PackingSize
Förpackningsstorleken för typen.
- typesize
- Int32
Den totala storleken på typen.
Returer
En TypeBuilder som har skapats med alla begärda attribut.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String, TypeAttributes, Type, Type[])
Konstruerar ett TypeBuilder givet typnamn, attribut, den typ som den definierade typen utökar och de gränssnitt som den definierade typen implementerar.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributen som ska associeras med typen.
- parent
- Type
Den typ som den definierade typen utökar.
- interfaces
- Type[]
Listan över gränssnitt som typen implementerar.
Returer
En TypeBuilder som har skapats med alla begärda attribut.
- Attribut
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String, TypeAttributes, Type, Int32)
Konstruerar ett TypeBuilder givet typnamn, attributen, den typ som den definierade typen utökar och den totala storleken på typen.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributen för den definierade typen.
- parent
- Type
Den typ som den definierade typen utökar.
- typesize
- Int32
Den totala storleken på typen.
Returer
Ett TypeBuilder objekt.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Det är förbjudet att ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String, TypeAttributes, Type, PackingSize)
Konstruerar ett TypeBuilder givet typnamn, attributen, den typ som den definierade typen utökar och förpackningsstorleken för typen.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributen för den definierade typen.
- parent
- Type
Den typ som den definierade typen utökar.
- packsize
- PackingSize
Förpackningsstorleken för typen.
Returer
Ett TypeBuilder objekt.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String, TypeAttributes)
Konstruerar ett TypeBuilder givet typnamn och typattribut.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributen för den definierade typen.
Returer
En TypeBuilder som har skapats med alla begärda attribut.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String)
Konstruerar en TypeBuilder för en privat typ med det angivna namnet i den här modulen.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen, inklusive namnområdet.
name kan inte innehålla inbäddade null-värden.
Returer
En privat typ med det angivna namnet.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.
Gäller för
DefineType(String, TypeAttributes, Type)
Konstruerar ett TypeBuilder angivet typnamn, dess attribut och den typ som den definierade typen utökar.
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
Parametrar
- name
- String
Den fullständiga sökvägen för typen.
name kan inte innehålla inbäddade null-värden.
- attr
- TypeAttributes
Attributet som ska associeras med typen.
- parent
- Type
Den typ som den definierade typen utökar.
Returer
En TypeBuilder som har skapats med alla begärda attribut.
Undantag
Det finns en typ med det angivna namnet i den överordnade sammansättningen i den här modulen.
-eller-
Kapslade typattribut anges på en typ som inte är kapslad.
name är null.
Exempel
I följande exempel skapas en TypeBuilder i den aktuella dynamiska modulen med hjälp av CreateType, bygger och slutför typen och sparar sammansättningen.
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")
Kommentarer
Typnamn måste vara unika i en sammansättning. Du kan inte ha två typer med samma namn i två olika moduler i en sammansättning.