Heim > Backend-Entwicklung > C++ > Wie kann ich mithilfe von Reflection eine C#-Klassenreferenz aus einem String abrufen?

Wie kann ich mithilfe von Reflection eine C#-Klassenreferenz aus einem String abrufen?

Linda Hamilton
Freigeben: 2025-01-14 11:49:43
Original
545 Leute haben es durchsucht

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

Verwenden Sie die C#-Reflexion, um eine Klassenreferenz aus einem String abzurufen

In C# erfordert das Erhalten einer Klassenreferenz aus einer Zeichenfolge die Verwendung eines Reflexionsmechanismus. So geht's:

Verwenden Sie die Type.GetType-Methode:

  1. Type.GetType("FooClass"): Rufen Sie die Typinstanz ab, die der angegebenen Zeichenfolge entspricht (z. B. „FooClass“).
  2. Invoke(): Um eine statische Methode wie FooClass.MyMethod() aufzurufen, können Sie die Methode Invoke() verwenden, um das abgerufene Objekt MethodInfo aufzurufen.

Beispiel:

<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>
Nach dem Login kopieren

Diese Methode ruft die Klassenreferenz direkt aus der Zeichenfolge ab und ruft die statische Methode der Klasse auf.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Reflection eine C#-Klassenreferenz aus einem String abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage