Partager via


ModuleBuilder.DefineType Méthode

Définition

Construit un objet TypeBuilder. Pour définir un type valeur, définissez un type dérivé de ValueType.

Surcharges

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

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de l'interface implémentée par le type défini.

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

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini, de la taille de compactage et de la taille totale du type défini.

DefineType(String, TypeAttributes, Type, PackingSize)

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de la taille de compactage du type.

DefineType(String, TypeAttributes)

Construit un TypeBuilder en fonction du nom et des attributs du type.

DefineType(String, TypeAttributes, Type)

Construit un TypeBuilder en fonction du nom et des attributs du type, ainsi que du type que le type défini étend.

DefineType(String, TypeAttributes, Type, Int32)

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de la taille totale du type.

DefineType(String)

Construit un TypeBuilder pour un type privé portant le nom spécifié dans ce module.

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

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de l'interface implémentée par le type défini.

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

Paramètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attributs à associer au type.

parent
Type

Type étendu par le type défini.

interfaces
Type[]

Liste des interfaces implémentées par le type.

Retours

TypeBuilder créé avec tous les attributs demandés.

Attributs

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type et enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter du .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin de ReflectionPermission l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

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

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini, de la taille de compactage et de la taille totale du type défini.

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

Paramètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attributs du type défini.

parent
Type

Type étendu par le type défini.

packingSize
PackingSize

Taille de compression du type.

typesize
Int32

Taille totale du type.

Retours

TypeBuilder créé avec tous les attributs demandés.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type et enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter du .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin de ReflectionPermission l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

DefineType(String, TypeAttributes, Type, PackingSize)

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de la taille de compactage du type.

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

Paramètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attributs du type défini.

parent
Type

Type étendu par le type défini.

packsize
PackingSize

Taille de compression du type.

Retours

Objet TypeBuilder.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type et enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter du .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin de ReflectionPermission l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

DefineType(String, TypeAttributes)

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type.

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ètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attributs du type défini.

Retours

TypeBuilder créé avec tous les attributs demandés.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type et enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter du .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin de ReflectionPermission l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

DefineType(String, TypeAttributes, Type)

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type, ainsi que du type que le type défini étend.

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

Paramètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attribut à associer au type.

parent
Type

Type étendu par le type défini.

Retours

TypeBuilder créé avec tous les attributs demandés.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type et enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter de .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin ReflectionPermission de l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

DefineType(String, TypeAttributes, Type, Int32)

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder en fonction du nom et des attributs du type, du type étendu par le type défini et de la taille totale du type.

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

Paramètres

name
String

Chemin d'accès complet du type. name ne peut pas contenir des valeurs Null imbriquées.

attr
TypeAttributes

Attributs du type défini.

parent
Type

Type étendu par le type défini.

typesize
Int32

Taille totale du type.

Retours

Objet TypeBuilder.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type, puis enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Il est interdit d’avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter de .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin ReflectionPermission de l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à

DefineType(String)

Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs
Source:
ModuleBuilder.cs

Construit un TypeBuilder pour un type privé portant le nom spécifié dans ce module.

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ètres

name
String

Chemin d'accès complet du type, espace de noms compris. name ne peut pas contenir des valeurs Null imbriquées.

Retours

Type privé portant le nom spécifié.

Exceptions

Un type portant le nom donné existe dans l'assembly parent de ce module.

- ou -

Des attributs de type imbriqué sont définis sur un type non imbriqué.

name a la valeur null.

Exemples

L’exemple suivant crée un TypeBuilder dans le module dynamique actuel à l’aide CreateTypede , génère et termine le type, puis enregistre l’assembly.

AssemblyName^ asmname = gcnew 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" );
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")

Remarques

Les noms de type doivent être uniques au sein d’un assembly. Vous ne pouvez pas avoir deux types portant le même nom dans deux modules différents d’un assembly.

Notes

À compter de .NET Framework 2.0 Service Pack 1, ce membre n’a plus besoin ReflectionPermission de l’indicateur ReflectionPermissionFlag.ReflectionEmit . (Consultez Problèmes de sécurité dans l’émission de réflexion.) Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5 ou version ultérieure.

S’applique à