Heim > Backend-Entwicklung > C++ > Wie kann ich statische Methoden mithilfe von Reflection in .NET aufrufen?

Wie kann ich statische Methoden mithilfe von Reflection in .NET aufrufen?

DDD
Freigeben: 2024-12-26 16:37:17
Original
453 Leute haben es durchsucht

How Can I Invoke Static Methods Using Reflection in .NET?

Aufrufen statischer Methoden mit Reflection

In .NET ist es üblich, statische Klassen zu haben, die Hilfs- oder Erweiterungsmethoden bereitstellen. Es stellt sich die Frage: Wie können wir diese statischen Methoden mithilfe von Reflektion aufrufen?

Wie das bereitgestellte Codefragment zeigt, können nicht statische Methoden mithilfe von Reflektion instanziiert und aufgerufen werden. Beim Umgang mit statischen Methoden ist jedoch ein alternativer Ansatz erforderlich.

Der Schlüssel liegt im Verständnis, dass das erste Argument der MethodInfo.Invoke-Methode für statische Methoden ignoriert wird. Anstatt also eine Instanz der Klasse zu erstellen, können wir einfach null als erstes Argument übergeben.

Hier ist ein aktualisierter Codeblock, der zeigt, wie statische Methoden mithilfe von Reflektion aufgerufen werden:

foreach (var tempClass in macroClasses)
{
    // Call the static "Run" method using reflection
    tempClass.GetMethod("Run").Invoke(null, null);
}
Nach dem Login kopieren

Für zusätzliche Sicherheit möchten Sie möglicherweise sicherstellen, dass die Methode tatsächlich statisch ist, wenn Sie GetMethod aufrufen:

tempClass.GetMethod("Run", BindingFlags.Public | BindingFlags.Static).Invoke(null, null);
Nach dem Login kopieren

Mit diesem Ansatz können Sie jede statische Methode aufrufen Führen Sie die Methode aus dem angegebenen Namespace aus und bieten Sie so eine flexible Möglichkeit, Makros oder Dienstprogrammfunktionen auszuführen, ohne dass eine direkte Klasseninstanziierung erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich statische Methoden mithilfe von Reflection in .NET aufrufen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage