Activator.CreateInstance Méthode

Définition

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

Surcharges

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l'assembly nommé et le constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l'assembly nommé et le constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type dont le nom est spécifié, à l'aide de l'assembly nommé et du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Object[], Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(String, String, Object[])

Crée une instance du type dont le nom est spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Crée une instance du type dont le nom est spécifié, à l'aide de l'assembly nommé et du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Boolean)

Crée une instance du type spécifié à l’aide du constructeur sans paramètre de ce type.Creates an instance of the specified type using that type's parameterless constructor.

CreateInstance(String, String)

Crée une instance du type dont le nom est spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

CreateInstance(ActivationContext, String[])

Crée une instance du type désigné par l'objet ActivationContext spécifié et activé avec les données d'activation personnalisées spécifiées.Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

CreateInstance(Type)

Crée une instance du type spécifié à l’aide du constructeur sans paramètre de ce type.Creates an instance of the specified type using that type's parameterless constructor.

CreateInstance(ActivationContext)

Crée une instance du type désigné par l'objet ActivationContext spécifié.Creates an instance of the type designated by the specified ActivationContext object.

CreateInstance(AppDomain, String, String)

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

CreateInstance<T>()

Crée une instance du type désigné par le paramètre de type générique spécifié, à l’aide du constructeur sans paramètre.Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Avertissement

Cette API est désormais obsolète.

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l'assembly nommé et le constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

Paramètres

domain
AppDomain

Domaine dans lequel le type nommé typeName est créé.The domain where the type named typeName is created.

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

ignoreCase
Boolean

true pour spécifier que la recherche de typeName ne respecte pas la casse ; false pour spécifier que la recherche respecte la casse.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur typeName.A combination of zero or more bit flags that affect the search for the typeName constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur typeName.An object that uses bindingAttr and args to seek and identify the typeName constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur typeName.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit généralement d'un tableau qui contient un seul objet UrlAttribute.This is typically an array that contains a single UrlAttribute object. UrlAttribute spécifie l'URL qui est requise pour activer un objet distant.The UrlAttribute specifies the URL that is required to activate a remote object.

securityAttributes
Evidence

Informations utilisées pour prendre des décisions de stratégie de sécurité et accorder des autorisations de code.Information used to make security policy decisions and grant code permissions.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Attributs

Exceptions

domain ou typeName est null.domain or typeName is null.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’a pas l’autorisation d’appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Remarques

Utilisez CreateInstance lorsqu’un hôte doit exécuter du code dans un domaine d’application qui a des autorisations de sécurité limitées.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

Cette méthode utilise SecurityAction.LinkDemand pour demander à l’appelant immédiat d’avoir une confiance totale.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour pouvoir appeler des opérations sur tous les membres de type.for the ability to invoke operations on all type members. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
Requiert une confiance totale pour l’appelant immédiat.requires full trust for the immediate caller. Ce membre ne peut pas être utilisé par du code de confiance partielle ou transparent.This member cannot be used by partially trusted or transparent code.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l'assembly nommé et le constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Paramètres

domain
AppDomain

Domaine dans lequel le type nommé typeName est créé.The domain where the type named typeName is created.

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

ignoreCase
Boolean

true pour spécifier que la recherche de typeName ne respecte pas la casse ; false pour spécifier que la recherche respecte la casse.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur typeName.A combination of zero or more bit flags that affect the search for the typeName constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur typeName.An object that uses bindingAttr and args to seek and identify the typeName constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur typeName.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Attributs

Exceptions

domain ou typeName est null.domain or typeName is null.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’a pas l’autorisation d’appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Remarques

Utilisez CreateInstance lorsqu’un hôte doit exécuter du code dans un domaine d’application qui a des autorisations de sécurité limitées.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

Cette méthode utilise SecurityAction.LinkDemand pour demander à l’appelant immédiat d’avoir une confiance totale.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sécurité

SecurityCriticalAttribute
Requiert une confiance totale pour l’appelant immédiat.requires full trust for the immediate caller. Ce membre ne peut pas être utilisé par du code de confiance partielle ou transparent.This member cannot be used by partially trusted or transparent code.

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour pouvoir appeler des opérations sur tous les membres de type.for the ability to invoke operations on all type members. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type dont le nom est spécifié, à l'aide de l'assembly nommé et du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Paramètres

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

ignoreCase
Boolean

true pour spécifier que la recherche de typeName ne respecte pas la casse ; false pour spécifier que la recherche respecte la casse.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur typeName.A combination of zero or more bit flags that affect the search for the typeName constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur typeName.An object that uses bindingAttr and args to seek and identify the typeName constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur typeName.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Exceptions

typeName est null.typeName is null.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’a pas l’autorisation d’appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Remarques

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour créer des types et des membres non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les membres et les types non publics est limité à l’appelant Grant set ou à un sous-ensemble de celui-ci.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux membres et types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types and members regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur type.A combination of zero or more bit flags that affect the search for the type constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur type.An object that uses bindingAttr and args to seek and identify the type constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur type.Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type a la valeur null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou de GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Remarques

Le constructeur à appeler doit fournir la correspondance la plus spécifique avec la liste d’arguments spécifiée, sous les contraintes du Binder et des attributs de liaison spécifiés.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Notes

À partir du .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder aux types et aux membres non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations des types et membres non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble FA.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour fournir la preuve.for supplying evidence. Énumération associée : ControlEvidenceAssociated enumeration: ControlEvidence

ReflectionPermission
pour accéder aux membres et types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types and members regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur type.A combination of zero or more bit flags that affect the search for the type constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur type.An object that uses bindingAttr and args to seek and identify the type constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur type.Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type est null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou de GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Remarques

Le constructeur à appeler doit fournir la correspondance la plus spécifique avec la liste d’arguments spécifiée, sous les contraintes du Binder et des attributs de liaison spécifiés.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Notes

À partir du .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder aux types et aux membres non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les membres et les types non publics est limité à l’appelant Grant set ou à un sous-ensemble de celui-ci.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux membres et types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types and members regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Object[], Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, object[] args, object[] activationAttributes);
static member CreateInstance : Type * obj[] * obj[] -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type est null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Remarques

Le constructeur à appeler doit être accessible et doit fournir la correspondance la plus spécifique avec la liste d’arguments spécifiée.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder à des types non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les types non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble reof.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Object[])

Crée une instance du type dont le nom est spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Paramètres

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Exceptions

typeName est null.typeName is null.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’a pas l’autorisation d’appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- activationAttributes n’est pas un tableau UrlAttributeactivationAttributes is not a UrlAttribute

.array.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Une erreur s’est produite lors de la tentative d’activation à distance dans une cible spécifiée dans activationAttributes.An error occurred when attempting remote activation in a target specified in activationAttributes.

Remarques

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour créer des types non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations des types non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble de ce dernier.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Avertissement

Cette API est désormais obsolète.

Crée une instance du type dont le nom est spécifié, à l'aide de l'assembly nommé et du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

Paramètres

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

ignoreCase
Boolean

true pour spécifier que la recherche de typeName ne respecte pas la casse ; false pour spécifier que la recherche respecte la casse.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags

Combinaison de zéro ou plusieurs bits indicateurs qui affectent la recherche du constructeur typeName.A combination of zero or more bit flags that affect the search for the typeName constructor. Si bindingAttr a la valeur zéro, une recherche de constructeurs publics qui respecte la casse est effectuée.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder

Objet qui utilise bindingAttr et args pour rechercher et identifier le constructeur typeName.An object that uses bindingAttr and args to seek and identify the typeName constructor. Si binder est null, le binder par défaut est utilisé.If binder is null, the default binder is used.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo

Informations propres à la culture qui définissent la contrainte de args pour les types formels déclarés du constructeur typeName.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Tableau à un ou plusieurs attributs pouvant participer à l'activation.An array of one or more attributes that can participate in activation. Il s'agit, en général, d'un tableau contenant un seul objet UrlAttribute qui spécifie l'URL nécessaire pour activer un objet distant.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Ce paramètre est lié aux objets activés par le client.This parameter is related to client-activated objects. L'activation des clients est une technologie héritée qui est conservée pour la compatibilité descendante, mais elle n'est pas recommandée pour un nouveau développement.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Les applications distribuées doivent à la place utiliser Windows Communication Foundation.Distributed applications should instead use Windows Communication Foundation.

securityInfo
Evidence

Informations utilisées pour prendre des décisions de stratégie de sécurité et accorder des autorisations de code.Information used to make security policy decisions and grant code permissions.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Attributs

Exceptions

typeName a la valeur null.typeName is null.

Aucun constructeur correspondant n’a été trouvé.No matching constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’a pas l’autorisation d’appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- activationAttributes n’est pas un tableau vide, et le type à créer ne dérive pas de MarshalByRefObject.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Remarques

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour créer des types et des membres non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les membres et les types non publics est limité à l’appelant Grant set ou à un sous-ensemble de celui-ci.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux membres et types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types and members regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Object[])

Crée une instance du type spécifié à l'aide du constructeur qui correspond le mieux aux paramètres spécifiés.Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args);
public static object CreateInstance (Type type, object[] args);
static member CreateInstance : Type * obj[] -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

args
Object[]

Tableau d'arguments dont le nombre, l'ordre et le type correspondent aux paramètres du constructeur à appeler.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Si args est un tableau vide ou null, le constructeur qui ne prend aucun paramètre (constructeur sans paramètre) est appelé.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type a la valeur null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

- ou --or- Le constructeur qui correspond le mieux à args a des arguments varargs.The constructor that best matches args has varargs arguments.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

Dans .NET pour les applications du Windows Store ou la Bibliothèque de classes portable, interceptez l’exception de la classe de base, MemberAccessException, à la place.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Dans .NET pour les applications du Windows Store ou la Bibliothèque de classes portable, interceptez l’exception de la classe de base, MissingMemberException, à la place.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Exemples

L’exemple suivant appelle la méthode CreateInstance(Type, Object[]) pour créer un objet String.The following example calls the CreateInstance(Type, Object[]) method to create a String object. Il appelle le constructeur String.String(Char[], Int32, Int32) pour instancier une chaîne qui contient dix éléments à partir d’un tableau de caractères en commençant à la quatorzième position.It calls the String.String(Char[], Int32, Int32) constructor to instantiate a string that contains ten elements from a character array starting at the fourteenth position.

using System;

public class Example
{
   public static void Main()
   {
      // Initialize array of characters from a to z.
      Char[] chars = new Char[26]; 
      for (int ctr = 0; ctr < 26; ctr++)
         chars[ctr] = (char) (ctr + 0x0061);

      Object obj = Activator.CreateInstance(typeof(String),
                                            new Object[] { chars, 13, 10 } );
      Console.WriteLine(obj);                                          
   }
}
// The example displays the following output:
//       nopqrstuvw
Module Example
   Public Sub Main()
      ' Initialize array of characters from a to z.
      Dim chars(25) As Char 
      For ctr As Short = 0 To 25
         chars(ctr) = ChrW(ctr + &h0061)
      Next 
      Dim obj As Object = Activator.CreateInstance(GetType(String),
                                                   { chars, 13, 10 })
      Console.WriteLine(obj)                                          
   End Sub
End Module
' The example displays the following output:
'       nopqrstuvw

L’exemple suivant crée un tableau en escalier dont les éléments sont des arguments à passer à un constructeur String.The following example creates a jagged array whose elements are arguments to be passed to a String constructor. L’exemple passe ensuite chaque tableau à la méthode CreateInstance(Type, Object[]) pour appeler le constructeur de chaîne approprié.The example then passes each array to the CreateInstance(Type, Object[]) method to invoke the appropriate string constructor.

using System;

public class Example
{
   public static void Main()
   {
      char[] characters = { 'a', 'b', 'c', 'd', 'e', 'f' };
      object[][] arguments = new object[3][] { new object[] { characters },
                                               new object[] { characters, 1, 4 },
                                               new object[] { characters[1], 20 } };

      for (int ctr = 0; ctr <= arguments.GetUpperBound(0); ctr++) {
         object[] args = arguments[ctr];
         object result = Activator.CreateInstance(typeof(String), args);
         Console.WriteLine("{0}: {1}", result.GetType().Name, result);
      }
   }
}
// The example displays the following output:
//    String: abcdef
//    String: bcde
//    String: bbbbbbbbbbbbbbbbbbbb
Module Example
   Public Sub Main()
      Dim characters() As Char = { "a"c, "b"c, "c"c, "d"c, "e"c, "f"c }
      Dim arguments()() As Object = new Object(2)() { New Object() { characters },
                                                      New Object() { characters, 1, 4 },
                                                      New Object() { characters(1), 20 } }

      For ctr As Integer = 0 To arguments.GetUpperBound(0)
         Dim args() As Object = arguments(ctr)
         Dim result As Object = Activator.CreateInstance(GetType(String), args)
         Console.WriteLine("{0}: {1}", result.GetType().Name, result)
      Next
   End Sub
End Module
' The example displays the following output:
'       String: abcdef
'       String: bcde
'       String: bbbbbbbbbbbbbbbbbbbb

Remarques

Le constructeur à appeler doit être accessible et doit fournir la correspondance la plus spécifique avec la liste d’arguments spécifiée.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder à des types non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les types non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble reof.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Boolean)

Crée une instance du type spécifié à l’aide du constructeur sans paramètre de ce type.Creates an instance of the specified type using that type's parameterless constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object CreateInstance (Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

nonPublic
Boolean

true si un constructeur sans paramètre public ou non public peut correspondre ; false si seul un constructeur public sans paramètre peut correspondre.true if a public or nonpublic parameterless constructor can match; false if only a public parameterless constructor can match.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type a la valeur null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Remarques

Notes

À partir du .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder aux types et aux membres non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les membres et les types non publics est limité à l’appelant Grant set ou à un sous-ensemble de celui-ci.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux membres et types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types and members regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String)

Crée une instance du type dont le nom est spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Paramètres

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Exceptions

typeName est null.typeName is null.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Vous ne pouvez pas créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.You cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle ou de tableaux de ces types n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Exemples

L’exemple suivant définit une classe nommée Person dans un assembly nommé PersonInfo.The following example defines a class named Person in an assembly named PersonInfo. Notez que la classe Person a deux constructeurs, dont l’un est sans paramètre.Note that the Person class has two constructors, one of which is parameterless.

using System;

public class Person
{
   private string _name;
   
   public Person()
   { }
   
   public Person(string name)
   {
      this._name = name;
   }
   
   public string Name
   { get { return this._name; }
     set { this._name = value; } }
   
   public override string ToString()
   {
      return this._name;
   }
}
Public Class Person
   Private _name As String
   
   Public Sub New()
   End Sub
   
   Public Sub New(name As String)
      Me._name = name
   End Sub
   
   Public Property Name As String
      Get
         Return Me._name
      End Get
      Set
         Me._name = value
      End Set
   End Property
   
   Public Overrides Function ToString() As String
      Return Me._name
   End Function
End Class

L’exemple suivant appelle la méthode CreateInstance(String, String) pour instancier la classe Person.The following example calls the CreateInstance(String, String) method to instantiate the Person class. Elle nécessite l’ajout d’une référence à PersonInfo. dll au projet.It requires a reference to PersonInfo.dll to be added to the project. Étant donné que la méthode CreateInstance(String, String) appelle le constructeur sans paramètre de classe Person, l’exemple assigne une valeur à sa propriété Name.Because the CreateInstance(String, String) method calls the Person class parameterless constructor, the example assigns a value to its Name property.

using System;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Person p = (Person) handle.Unwrap();
      p.Name = "Samuel";
      Console.WriteLine(p);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Person = CType(handle.Unwrap(), Person)
      p.Name = "Samuel"
      Console.WriteLine(p)
   End Sub
End Module
' The example displays the following output:
'       Samuel

Toutefois, CreateInstance est fréquemment appelé pour instancier un type qui traverse les limites de l’ordinateur ou qui n’est pas connu au moment de la conception.However, CreateInstance is frequently called to instantiate a type that crosses machine boundaries or that is not known at design time. Dans ce cas, vous ne pouvez pas inclure de référence à l’assembly dans le projet et ne peut pas effectuer d’appels à liaison anticipée aux membres du type.In this case, you cannot include a reference to the assembly in the project and cannot make early-bound calls to the type's members. Pour contourner cette limitation, l’exemple suivant utilise la méthode CreateInstance avec la réflexion pour assigner une valeur à la propriété Name de l’objet Person et afficher sa valeur.To work around this limitation, the following example uses the CreateInstance method along with reflection to assign a value to the Person object's Name property and to display its value.

using System;
using System.Reflection;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Object p = handle.Unwrap();
      Type t = p.GetType();
      PropertyInfo prop = t.GetProperty("Name");
      if (prop != null)
         prop.SetValue(p, "Samuel");

      MethodInfo method = t.GetMethod("ToString");
      Object retVal = method.Invoke(p, null); 
      if (retVal != null)
         Console.WriteLine(retVal);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Reflection
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Object = handle.Unwrap()
      Dim t As Type = p.GetType()
      Dim prop As PropertyInfo = t.GetProperty("Name")
      if Not prop Is Nothing Then
         prop.SetValue(p, "Samuel")
      End If   
      Dim method As MethodInfo = t.GetMethod("ToString")
      Dim retVal As Object = method.Invoke(p, Nothing) 
      If Not retVal Is Nothing Then
         Console.WriteLine(retVal)
      End If
   End Sub
End Module
' The example displays the following output:
'       Samuel

Remarques

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

assemblyName peut être l’un des éléments suivants :assemblyName can be either of the following:

  • Nom simple d’un assembly, sans son chemin d’accès ou son extension de fichier.The simple name of an assembly, without its path or file extension. Par exemple, vous spécifiez TypeExtensions pour un assembly dont le chemin d’accès et le nom sont .\bin\TypeExtensions.dll.For example, you would specify TypeExtensions for an assembly whose path and name are .\bin\TypeExtensions.dll.

  • Nom complet d’un assembly signé, qui se compose de son nom simple, de sa version, de sa culture et du jeton de clé publique ; par exemple, « TypeExtensions, version = 1.0.0.0, culture = neutral, PublicKeyToken = 181869f2f7435b51 ».The full name of a signed assembly, which consists of its simple name, version, culture, and public key token; for example, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".

Pour plus d’informations sur la façon dont le common language runtime identifie et charge les assemblys, consultez la manière dont le runtime localise les assemblys.For more information on how the common language runtime identifies and loads assemblies, see How the Runtime Locates Assemblies. Pour plus d’informations sur l’utilisation du fichier de configuration de l’application pour définir des emplacements d’assembly, consultez spécification de l’emplacement d’un assembly.For information on using the application configuration file to define assembly locations, see Specifying an Assembly's Location. Si assemblyName est trouvé, il est chargé dans le contexte par défaut.If assemblyName is found, it is loaded in the default context.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour créer des types non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les types non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble reof.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux types non publics indépendamment de leur jeu d’autorisations.for accessing nonpublic types regardless of their grant set. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext, String[])

Crée une instance du type désigné par l'objet ActivationContext spécifié et activé avec les données d'activation personnalisées spécifiées.Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext, cli::array <System::String ^> ^ activationCustomData);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext, string[] activationCustomData);
static member CreateInstance : ActivationContext * string[] -> System.Runtime.Remoting.ObjectHandle

Paramètres

activationContext
ActivationContext

Objet de contexte d’activation qui spécifie l’objet à créer.An activation context object that specifies the object to create.

activationCustomData
String[]

Tableau de chaînes Unicode qui contiennent les données d'activation personnalisées.An array of Unicode strings that contain custom activation data.

Retours

Handle qui doit être désencapsulé pour accéder à l'objet créé récemment.A handle that must be unwrapped to access the newly created object.

Remarques

Utilisez la méthode ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use the ObjectHandle.Unwrap method to unwrap the return value.

Le contexte d’activation est utilisé lors de l’activation basée sur un manifeste pour configurer la stratégie de domaine et pour fournir un modèle de sécurité basé sur l’application.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. La classe ActivationContext contient un objet ApplicationIdentity qui fournit l’accès au manifeste d’application.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Pour plus d'informations, consultez la classe ApplicationSecurityManager.For more information, see the ApplicationSecurityManager class.

Voir aussi

CreateInstance(Type)

Crée une instance du type spécifié à l’aide du constructeur sans paramètre de ce type.Creates an instance of the specified type using that type's parameterless constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance (Type type);
static member CreateInstance : Type -> obj

Paramètres

type
Type

Type de l'objet à créer.The type of object to create.

Retours

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

type est null.type is null.

type n’est pas un RuntimeType.type is not a RuntimeType.

- ou --or- type est un type générique ouvert (autrement dit, la propriété ContainsGenericParameters retourne true).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type ne peut pas être TypeBuilder.type cannot be a TypeBuilder.

- ou --or- La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle, ou de tableaux de ces types, n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- ou --or- L’assembly qui contient type est un assembly dynamique qui a été créé avec Save.The assembly that contains type is a dynamic assembly that was created with Save.

Le constructeur appelé lève une exception.The constructor being called throws an exception.

Dans .NET pour les applications du Windows Store ou la Bibliothèque de classes portable, interceptez l’exception de la classe de base, MemberAccessException, à la place.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d’une classe abstraite, ou ce membre a été appelé avec un mécanisme de liaison tardive.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Le type COM n’a pas été obtenu par l’intermédiaire de GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

Dans .NET pour les applications du Windows Store ou la Bibliothèque de classes portable, interceptez l’exception de la classe de base, MissingMemberException, à la place.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

type est un objet COM, mais l’identificateur de classe utilisé pour obtenir le type n’est pas valide, ou la classe identifiée n’est pas inscrite.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type n’est pas un type valide.type is not a valid type.

Exemples

L’exemple de code suivant montre comment appeler la méthode CreateInstance(Type).The following code example demonstrates how to call the CreateInstance(Type) method. Les instances de plusieurs types différents sont créées et leurs valeurs par défaut sont affichées.Instances of several different types are created and their default values are displayed.

using namespace System;

ref class DynamicInstanceList
{
private:
    static String^ instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

public:
    static void Main()
    {
        array<String^>^ instances = instanceSpec->Split(';');
        Array^ instlist = Array::CreateInstance(Object::typeid, instances->Length);
        Object^ item;

        for (int i = 0; i < instances->Length; i++)
        {
            // create the object from the specification string
            Console::WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator::CreateInstance(Type::GetType(instances[i]));
            instlist->SetValue(item, i);
        }
        Console::WriteLine("\nObjects and their default values:\n");
        for each (Object^ o in instlist)
        {
            Console::WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o->GetType()->FullName, o->ToString(), o->GetHashCode());
        }
    }
};

int main()
{
    DynamicInstanceList::Main();
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
using System;

class DynamicInstanceList
{
    private static string instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

    public static void Main()
    {
        string[] instances = instanceSpec.Split(';');
        Array instlist = Array.CreateInstance(typeof(object), instances.Length);
        object item;
        for (int i = 0; i < instances.Length; i++)
        {
            // create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator.CreateInstance(Type.GetType(instances[i]));
            instlist.SetValue(item, i);
        }
        Console.WriteLine("\nObjects and their default values:\n");
        foreach (object o in instlist)
        {
            Console.WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o.GetType().FullName, o.ToString(), o.GetHashCode());
        }
    }
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
Class DynamicInstanceList
    Private Shared instanceSpec As String = "System.EventArgs;System.Random;" + _
        "System.Exception;System.Object;System.Version"

    Public Shared Sub Main()
        Dim instances() As String = instanceSpec.Split(";")
        Dim instlist As Array = Array.CreateInstance(GetType(Object), instances.Length)
        Dim item As Object

        For i As Integer = 0 To instances.Length -1
            ' create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances(i))
            item = Activator.CreateInstance(Type.GetType(instances(i)))
            instlist.SetValue(item, i)
        Next i
        Console.WriteLine(vbNewLine + "Objects and their default values:" + vbNewLine)
        For Each o As Object In instlist
            Console.WriteLine("Type:     {0}" + vbNewLine + "Value:    {1}" + _
                vbNewLine + "HashCode: {2}" + vbNewLine, _
                o.GetType().FullName, o.ToString(), o.GetHashCode())
        Next o
    End Sub
End Class

' This program will display output similar to the following:
'
' Creating instance of: System.EventArgs
' Creating instance of: System.Random
' Creating instance of: System.Exception
' Creating instance of: System.Object
' Creating instance of: System.Version
'
' Objects and their default values:
'
' Type:     System.EventArgs
' Value:    System.EventArgs
' HashCode: 46104728
'
' Type:     System.Random
' Value:    System.Random
' HashCode: 12289376
'
' Type:     System.Exception
' Value:    System.Exception: Exception of type 'System.Exception' was thrown.
' HashCode: 55530882
'
' Type:     System.Object
' Value:    System.Object
' HashCode: 30015890
'
' Type:     System.Version
' Value:    0.0
' HashCode: 1048575

Remarques

Le constructeur à appeler doit être accessible.The constructor to be invoked must be accessible.

Notes

À partir de la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, cette méthode peut être utilisée pour accéder à des types non publics si l’appelant a reçu ReflectionPermission avec l’indicateur ReflectionPermissionFlag.RestrictedMemberAccess et si le jeu d’autorisations de l’assembly qui contient les types non publics est limité au jeu d’autorisations de l’appelant ou à un sous-ensemble reof.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consultez Considérations sur la sécurité pour la réflexion.)(See Security Considerations for Reflection.)

Pour utiliser cette fonctionnalité, votre application doit cibler .NET Framework 3.5.NET Framework 3.5 ou version ultérieure.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour accéder aux types non publics, quels que soient leurs jeux d’autorisations.for accessing nonpublic types regardless of their grant sets. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext)

Crée une instance du type désigné par l'objet ActivationContext spécifié.Creates an instance of the type designated by the specified ActivationContext object.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext);
static member CreateInstance : ActivationContext -> System.Runtime.Remoting.ObjectHandle

Paramètres

activationContext
ActivationContext

Objet de contexte d’activation qui spécifie l’objet à créer.An activation context object that specifies the object to create.

Retours

Handle qui doit être désencapsulé pour accéder à l'objet créé récemment.A handle that must be unwrapped to access the newly created object.

Remarques

Utilisez la méthode ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use the ObjectHandle.Unwrap method to unwrap the return value.

Le contexte d’activation est utilisé lors de l’activation basée sur un manifeste pour configurer la stratégie de domaine et pour fournir un modèle de sécurité basé sur l’application.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. La classe ActivationContext contient un objet ApplicationIdentity qui fournit l’accès au manifeste d’application.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Pour plus d'informations, consultez la classe ApplicationSecurityManager.For more information, see the ApplicationSecurityManager class.

Voir aussi

CreateInstance(AppDomain, String, String)

Crée une instance du type dont le nom est spécifié dans le domaine distant spécifié, en utilisant l’assembly nommé et le constructeur sans paramètre.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName);
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle

Paramètres

domain
AppDomain

Domaine distant dans lequel le type nommé typeName est créé.The remote domain where the type named typeName is created.

assemblyName
String

Nom de l'assembly dans lequel le type nommé typeName est recherché.The name of the assembly where the type named typeName is sought. Si assemblyName est null, la recherche s'effectue dans l'assembly en cours d'exécution.If assemblyName is null, the executing assembly is searched.

typeName
String

Nom qualifié complet du type préféré.The fully qualified name of the preferred type.

Retours

Handle qui doit être désencapsulé pour accéder à la nouvelle instance créée.A handle that must be unwrapped to access the newly created instance.

Attributs

Exceptions

typeName ou domain est null.typeName or domain is null.

Aucun constructeur public correspondant n’a été trouvé.No matching public constructor was found.

typename est introuvable dans assemblyName.typename was not found in assemblyName.

assemblyName est introuvable.assemblyName was not found.

L’appelant n’est pas autorisé à appeler ce constructeur.The caller does not have permission to call this constructor.

Impossible de créer une instance d'un type abstrait.Cannot create an instance of an abstract type.

- ou --or-

Ce membre a été appelé avec un mécanisme de liaison tardive.This member was invoked with a late-binding mechanism.

Le constructeur, qui a été appelé via la réflexion, a levé une exception.The constructor, which was invoked through reflection, threw an exception.

Le type COM n’a pas été obtenu via GetTypeFromProgID ou GetTypeFromCLSID.The COM type was not obtained through GetTypeFromProgID or GetTypeFromCLSID.

La création de types TypedReference, ArgIterator, Void et RuntimeArgumentHandle ou de tableaux de ces types n’est pas prise en charge.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName n’est pas un assembly valide.assemblyName is not a valid assembly.

- ou --or- Le CLR (Common Language Runtime) version 2.0 ou ultérieure est actuellement chargé et assemblyName a été compilé pour une version du CLR qui est ultérieure à la version actuellement chargée.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Notez que les versions 2.0, 3.0 et 3.5 du .NET Framework utilisent toutes le CLR version 2.0.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

- ou --or-

Le nom de l’assembly ou la base de code n’est pas valide.The assembly name or code base is invalid.

Remarques

Utilisez CreateInstance lorsqu’un hôte doit exécuter du code dans un domaine d’application qui a des autorisations de sécurité limitées.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Utilisez ObjectHandle.Unwrap pour désencapsuler la valeur de retour.Use ObjectHandle.Unwrap to unwrap the return value.

Notes

Cette méthode utilise SecurityAction.LinkDemand pour demander à l’appelant immédiat d’avoir une confiance totale.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sécurité

SecurityPermission
pour pouvoir appeler du code non managé lors de la création d’une instance d’un délégué.for the ability to call unmanaged code when creating an instance of a delegate. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
pour pouvoir appeler des opérations sur tous les membres de type.for the ability to invoke operations on all type members. Énumération associée : MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
Requiert une confiance totale pour l’appelant immédiat.requires full trust for the immediate caller. Ce membre ne peut pas être utilisé par du code de confiance partielle ou transparent.This member cannot be used by partially trusted or transparent code.

CreateInstance<T>()

Crée une instance du type désigné par le paramètre de type générique spécifié, à l’aide du constructeur sans paramètre.Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

public:
generic <typename T>
 static T CreateInstance();
public static T CreateInstance<T> ();
static member CreateInstance : unit -> 'T
Public Shared Function CreateInstance(Of T) () As T

Paramètres de type

T

Type à créer.The type to create.

Retours

T

Référence au nouvel objet créé.A reference to the newly created object.

Exceptions

Dans .NET pour les applications du Windows Store ou la Bibliothèque de classes portable, interceptez l’exception de la classe de base, MissingMemberException, à la place.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Impossible de créer une instance de classe abstraite, ou le type spécifié pour T n’a pas de constructeur sans paramètre.Cannot create an instance of an abstract class, or the type that is specified for T does not have a parameterless constructor.

Remarques

La méthode générique CreateInstance<T>() est utilisée par les compilateurs pour implémenter l’instanciation des types spécifiés par les paramètres de type.The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters. Par exemple, dans la méthode générique suivante, l’implémentation de new T() (gcnew T() dans C++) utilise la méthode générique CreateInstance<T>().For example, in the following generic method, the implementation of new T() (gcnew T() in C++) uses the CreateInstance<T>() generic method.

public:
    generic <typename T> where T:gcnew()
    static T Bar()
    {
        return gcnew T();
    }
public static T Factory<T>() where T : new()
{
    return new T();
}
Public Shared Function Factory(Of T As New)() As T
    Return New T()
End Function

En général, il n’y a pas d’utilisation pour la méthode générique CreateInstance<T>() dans le code d’application, car le type doit être connu au moment de la compilation.In general, there is no use for the CreateInstance<T>() generic method in application code, because the type must be known at compile time. Si le type est connu au moment de la compilation, vous pouvez utiliser la syntaxe d’instanciation C#normale (opérateurnew dans, New C++dans Visual Basic, gcnew dans).If the type is known at compile time, normal instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++). Si le type n’est pas connu au moment de la compilation, vous pouvez appeler une surcharge non générique de CreateInstance.If the type is not known at compile time, you can call a non-generic overload of CreateInstance.

Il n’y a aucune surcharge de la méthode générique CreateInstance<T>() qui acceptent les listes d’arguments, car les surcharges non génériques de CreateInstance fournissent déjà une résolution de constructeur à liaison tardive.There are no overloads of the CreateInstance<T>() generic method that take argument lists, because the non-generic overloads of CreateInstance already provide late-bound constructor resolution.

S’applique à