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

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

Linda Hamilton
Libérer: 2025-01-14 11:49:43
original
596 Les gens l'ont consulté

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

Utilisez la réflexion C# pour obtenir la référence de classe à partir d'une chaîne

En C#, l'obtention d'une référence de classe à partir d'une chaîne nécessite l'utilisation d'un mécanisme de réflexion. Voici comment procéder :

Utilisez la méthode Type.GetType :

  1. Type.GetType("FooClass") : Récupère l'instance de Type correspondant à la chaîne spécifiée (par exemple, "FooClass").
  2. Invoke() : Pour appeler une méthode statique, telle que FooClass.MyMethod(), vous pouvez utiliser la méthode Invoke() pour appeler l'objet MethodInfo récupéré.

Exemple :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<code class="language-csharp">using System;

using System.Reflection;

 

class Program

{

    static void Main()

    {

        // 获取Type实例

        Type t = Type.GetType("FooClass");

 

        // 获取静态方法的MethodInfo

        MethodInfo method = t.GetMethod("MyMethod", BindingFlags.Static | BindingFlags.Public);

 

        // 调用方法

        method.Invoke(null, null);

    }

}

 

class FooClass

{

    public static void MyMethod()

    {

        Console.WriteLine("MyMethod invoked via reflection!");

    }

}</code>

Copier après la connexion

Cette méthode récupère la référence de classe directement à partir de la chaîne et appelle la méthode statique de la classe.

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