ModuleBuilder.DefineType Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
| DefineType(String, TypeAttributes, Type, PackingSize, Int32) |
Costruisce un |
| DefineType(String, TypeAttributes, Type, PackingSize) |
Costruisce un |
| DefineType(String, TypeAttributes) |
Costruisce un |
| DefineType(String, TypeAttributes, Type) |
Costruisce un |
| DefineType(String, TypeAttributes, Type, Int32) |
Costruisce un |
| DefineType(String) |
Costruisce un |
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.