Maison > développement back-end > C++ > Comment puis-je récupérer une référence de classe en C# à l'aide de Reflection ?

Comment puis-je récupérer une référence de classe en C# à l'aide de Reflection ?

Mary-Kate Olsen
Libérer: 2025-01-14 10:12:43
original
706 Les gens l'ont consulté

How Can I Retrieve a Class Reference in C# Using Reflection?

Utiliser Reflection pour accéder aux classes C# par nom

La réflexion C# fournit le mécanisme permettant d'accéder aux classes en utilisant leurs noms de chaîne. Ceci est crucial pour interagir dynamiquement avec les classes sans avoir besoin de références directes. Le cœur de ce processus réside dans l'obtention d'une référence de classe pour appeler ensuite ses méthodes.

La méthode Type.GetType() est la clé. Il prend une chaîne (le nom de la classe) et renvoie un objet Type représentant cette classe. Par exemple, pour obtenir une référence à une classe nommée "FooClass":

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

Avec l'objet Type, vous pouvez ensuite invoquer des méthodes statiques en utilisant GetMethod() et Invoke(). Exemple illustratif :

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

BindingFlags.Static indique que la méthode est statique ; BindingFlags.Public précise qu'il est accessible au public.

Cette approche fonctionne en supposant que la classe réside au sein de l'assemblée actuelle. Des scénarios plus complexes, tels que l'accès à des classes à partir d'assemblys externes ou de différentes sources, nécessitent une approche plus sophistiquée, comme détaillé dans les solutions alternatives.

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