ModuleBuilder.DefineType Metod

Definition

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 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.

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.

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.

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.

DefineType(String, TypeAttributes)

Konstruerar ett TypeBuilder givet typnamn och typattribut.

DefineType(String)

Konstruerar en TypeBuilder för en privat typ med det angivna namnet i den här modulen.

DefineType(String, TypeAttributes, Type)

Konstruerar ett TypeBuilder angivet typnamn, dess attribut och den typ som den definierade typen utökar.

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.

Gäller för