Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.GetType, méthode (String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean)
Obtient le type portant le nom spécifié, en indiquant s'il faut lever une exception si le type est introuvable et, éventuellement, en fournissant des méthodes personnalisées qui permettent de résoudre l'assembly et le type.
Assembly : mscorlib (dans mscorlib.dll)
public static Type GetType( string typeName, Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver, bool throwOnError )
Paramètres
- typeName
- Type : System.String
Nom du type à obtenir. Si le paramètre typeResolver est fourni, le nom de type peut être n'importe quelle chaîne pouvant être résolue par typeResolver. Si le paramètre assemblyResolver est fourni ou si la résolution de type standard est utilisée, typeName doit être un nom d'assembly complet (consultez AssemblyQualifiedName), à moins que le type ne se trouve dans l'assembly en cours d'exécution ou dans Mscorlib.dll, auquel cas, il suffit de fournir le nom de type qualifié par son espace de noms.
- assemblyResolver
- Type : System.Func<AssemblyName, Assembly>
Méthode que trouve et retourne l'assembly spécifié dans typeName. Le nom de l'assembly est passé à assemblyResolver en tant qu'objet AssemblyName. Si typeName ne contient pas le nom d'un assembly, assemblyResolver n'est pas appelé. Si assemblyResolver n'est pas fourni, une résolution d'assembly standard est effectuée.
Attention Ne passez pas de méthodes provenant d'appelants inconnus ou non fiables. Vous risqueriez d'élever les privilèges du code malveillant. Utilisez uniquement les méthodes que vous fournissez ou avec lesquelles vous êtes familiarisé.
- typeResolver
- Type : System.Func<Assembly, String, Boolean, Type>
Méthode qui trouve et retourne le type spécifié par typeName à partir de l'assembly retourné par assemblyResolver ou par la résolution d'assembly standard. Si aucun assembly n'est fourni, la méthode peut en fournir un. La méthode prend également un paramètre qui spécifie s'il faut exécuter une recherche non sensible à la casse ; false est passé à ce paramètre.
Attention Ne passez pas de méthodes provenant d'appelants inconnus ou non fiables.
- throwOnError
- Type : System.Boolean
true pour lever une exception si le type est introuvable ; false pour retourner la valeur null. La spécification de false supprime également d'autres conditions d'exception, mais pas toutes. Consultez la section Exceptions.
Valeur de retour
Type : System.TypeType portant le nom spécifié. Si le type est introuvable, le paramètre throwOnError spécifie si null est retourné ou si une exception est levée. Dans certains cas, une exception est levée indépendamment de la valeur de throwOnError. Consultez la section Exceptions.
| Exception | Condition |
|---|---|
| ArgumentNullException |
typeName est null. |
| TargetInvocationException |
Un initialiseur de classe est appelé et lève une exception. |
| TypeLoadException |
throwOnError a la valeur true et le type est introuvable. ou throwOnError a la valeur true et typeName contient caractères non valides, tels qu'une tabulation incorporée. ou throwOnError a la valeur true et typeName est une chaîne vide. ou throwOnError a la valeur true et typeName représente un type de tableau dont la taille est non valide. ou typeName représente un tableau de TypedReference. |
| ArgumentException |
Une erreur se produit lorsque typeName est analysé dans un nom de type et un nom d'assembly (par exemple, lorsque le nom de type simple inclut un caractère spécial sans séquence d'échappement). ou throwOnError a la valeur true et typeName contient une syntaxe non valide (par exemple, "MyType[,*,]"). ou typeName représente un type générique qui a un type pointeur, un type ByRef ou un type Void comme l'un de ses arguments de type. ou typeName représente un type générique qui a un nombre incorrect d'arguments de type. ou typeName représente un type générique, et l'un de ses arguments de type ne satisfait pas les contraintes spécifiées pour le paramètre de type correspondant. |
| FileNotFoundException |
throwOnError a la valeur true et l'assembly ou l'une de ses dépendances est introuvable. ou typeName contient un nom d'assembly non valide. ou typeName est un nom d'assembly valide sans nom de type. |
| FileLoadException |
L'assembly ou l'une de ses dépendances a été trouvé, mais n'a pas pu être chargé. |
| BadImageFormatException |
L'assembly ou l'une de ses dépendances n'est pas valide. ou L'assembly a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée. |
Les scénarios d'utilisation pour cette méthode et des détails sur les paramètres typeResolver et assemblyResolver se trouvent dans la surcharge de méthode GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean).
Appeler cette surcharge de méthode produit le même résultat que l'appel de la surcharge de méthode GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) avec la spécification de false pour le paramètre ignoreCase.
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.