ModuleBuilder.DefineType Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
DefineType(String, TypeAttributes, Type, PackingSize, Int32) |
Construit un |
DefineType(String, TypeAttributes, Type, PackingSize) |
Construit un |
DefineType(String, TypeAttributes) |
Construit un |
DefineType(String, TypeAttributes, Type) |
Construit un |
DefineType(String, TypeAttributes, Type, Int32) |
Construit un |
DefineType(String) |
Construit un |
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 CreateType
de , 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 CreateType
de , 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 CreateType
de , 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 CreateType
de , 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 CreateType
de , 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 CreateType
de , 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 CreateType
de , 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.