Maison > développement back-end > C++ > Comment puis-je obtenir une référence de classe à partir d'une chaîne en C# à l'aide de Reflection ?

Comment puis-je obtenir une référence de classe à partir d'une chaîne en C# à l'aide de Reflection ?

Patricia Arquette
Libérer: 2025-01-14 10:04:44
original
169 Les gens l'ont consulté

How Can I Get a Class Reference from a String in C# Using Reflection?

Utiliser Reflection pour récupérer des références de classe C# à partir de chaînes

La réflexion C# fournit un mécanisme puissant pour accéder et manipuler dynamiquement les informations de type d'exécution. Cela inclut la récupération d'une référence de classe en utilisant uniquement sa représentation sous forme de chaîne.

Le processus :

La méthode principale pour cette tâche est Type.GetType(). Cette méthode accepte une chaîne contenant le nom du type complet et renvoie un objet Type représentant ce type.

Exemple :

Disons que vous avez une classe nommée FooClass. Pour obtenir son Typeobjet :

<code class="language-csharp">string className = "FooClass";
Type type = Type.GetType(className);</code>
Copier après la connexion

Pour accéder à une méthode statique dans FooClass (par exemple, MyMethod), utilisez GetMethod() :

<code class="language-csharp">MethodInfo method = type.GetMethod("MyMethod", BindingFlags.Static | BindingFlags.Public);</code>
Copier après la connexion

Enfin, invoquez la méthode en utilisant Invoke() :

<code class="language-csharp">method.Invoke(null, null); // null for static methods, null for no parameters</code>
Copier après la connexion

Rappelez-vous que null est utilisé comme premier argument pour les méthodes statiques (aucune instance requise) et que le deuxième argument est un tableau de paramètres (nul si la méthode ne prend aucun paramètre).

Gestion des assemblages externes :

L'exemple ci-dessus suppose que FooClass réside dans le même assembly. Pour les types situés dans différents assemblys, vous devez fournir le nom de l’assembly dans le nom de type complet. Le format exact dépend de l'emplacement de l'assemblage. Consultez la documentation MSDN pour obtenir des conseils détaillés sur la spécification des noms d'assembly dans la méthode Type.GetType().

Exploration plus approfondie :

Pour une compréhension plus approfondie de la réflexion C#, reportez-vous à la documentation officielle de Microsoft sur Type.GetType(), MethodInfo.GetMethod() et MethodInfo.Invoke(). Ces ressources offrent des détails complets et des scénarios d'utilisation avancés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal