ModuleBuilder.DefineType Metodo

Definizione

Costruisce un TypeBuilder. Per definire un tipo valore, definire un tipo che deriva da ValueType.

Overload

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

Costruisce un TypeBuilder dato nome di tipo, attributi, tipo esteso dal tipo definito e interfacce implementate dal tipo definito.

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

Costruisce un TypeBuilder dato nome di tipo, attributi, il tipo esteso dal tipo definito, le dimensioni di compressione del tipo definito e le dimensioni totali del tipo definito.

DefineType(String, TypeAttributes, Type, PackingSize)

Costruisce un TypeBuilder dato nome del tipo, gli attributi, il tipo esteso dal tipo definito e le dimensioni di compressione del tipo.

DefineType(String, TypeAttributes)

Costruisce un TypeBuilder dato nome del tipo e gli attributi del tipo.

DefineType(String, TypeAttributes, Type)

Costruisce un TypeBuilder determinato nome di tipo, i relativi attributi e il tipo esteso dal tipo definito.

DefineType(String, TypeAttributes, Type, Int32)

Costruisce un TypeBuilder dato nome del tipo, gli attributi, il tipo esteso dal tipo definito e le dimensioni totali del tipo.

DefineType(String)

Costruisce un TypeBuilder oggetto per un tipo privato con il nome specificato in questo modulo.

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

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder dato nome di tipo, attributi, tipo esteso dal tipo definito e interfacce implementate dal tipo definito.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributi da associare al tipo.

parent
Type

Tipo esteso dal tipo definito.

interfaces
Type[]

Elenco di interfacce implementate dal tipo.

Valori restituiti

Oggetto TypeBuilder creato con tutti gli attributi richiesti.

Attributi

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

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

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder dato nome di tipo, attributi, il tipo esteso dal tipo definito, le dimensioni di compressione del tipo definito e le dimensioni totali del tipo definito.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributi del tipo definito.

parent
Type

Tipo esteso dal tipo definito.

packingSize
PackingSize

Dimensione di compressione del tipo.

typesize
Int32

Dimensione totale del tipo.

Valori restituiti

Oggetto TypeBuilder creato con tutti gli attributi richiesti.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

DefineType(String, TypeAttributes, Type, PackingSize)

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder dato nome del tipo, gli attributi, il tipo esteso dal tipo definito e le dimensioni di compressione del tipo.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributi del tipo definito.

parent
Type

Tipo esteso dal tipo definito.

packsize
PackingSize

Dimensione di compressione del tipo.

Valori restituiti

Un oggetto TypeBuilder.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

DefineType(String, TypeAttributes)

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder dato nome del tipo e gli attributi del tipo.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributi del tipo definito.

Valori restituiti

Oggetto TypeBuilder creato con tutti gli attributi richiesti.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

DefineType(String, TypeAttributes, Type)

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder determinato nome di tipo, i relativi attributi e il tipo esteso dal tipo definito.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributo da associare al tipo.

parent
Type

Tipo esteso dal tipo definito.

Valori restituiti

Oggetto TypeBuilder creato con tutti gli attributi richiesti.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

DefineType(String, TypeAttributes, Type, Int32)

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder dato nome del tipo, gli attributi, il tipo esteso dal tipo definito e le dimensioni totali del tipo.

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

Parametri

name
String

Percorso completo del tipo. name non può contenere valori Null incorporati.

attr
TypeAttributes

Attributi del tipo definito.

parent
Type

Tipo esteso dal tipo definito.

typesize
Int32

Dimensione totale del tipo.

Valori restituiti

Un oggetto TypeBuilder.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è consentito avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a

DefineType(String)

Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs
Origine:
ModuleBuilder.cs

Costruisce un TypeBuilder oggetto per un tipo privato con il nome specificato in questo modulo.

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

Parametri

name
String

Percorso completo del tipo, incluso lo spazio dei nomi. name non può contenere valori Null incorporati.

Valori restituiti

Tipo privato con il nome specificato.

Eccezioni

Nell'assembly padre di questo modulo esiste un tipo con il nome specificato.

oppure

Gli attributi dei tipi annidati vengono impostati su un tipo non annidato.

name è null.

Esempio

L'esempio seguente crea un oggetto TypeBuilder nel modulo dinamico corrente usando CreateType, compila e completa il tipo e salva l'assembly.

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

Commenti

I nomi dei tipi devono essere univoci all'interno di un assembly. Non è possibile avere due tipi con lo stesso nome in due moduli diversi di un assembly.

Si applica a