Heim >Backend-Entwicklung >C++ >Wie kann ich eine C# -Funktion mit ihrem als Zeichenfolge gespeicherten Namen aufrufen?

Wie kann ich eine C# -Funktion mit ihrem als Zeichenfolge gespeicherten Namen aufrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-26 02:11:08296Durchsuche

How Can I Call a C# Function Using Its Name Stored as a String?

Die in der Zeichenfolge gespeicherte Namensaufruffunktion heißt

Viele Programmiersprachen (einschließlich PHP) dürfen die dynamische Aufruffunktion über String zitieren. C# liefert eine reichhaltige Reflexfunktion, sodass diese Funktion auch im .NET -Framework implementiert werden kann.

Verwenden Sie die Reflexion, um dynamische Funktionen

auszuführen Um eine von einer Zeichenfolge in C#identifizierte Funktion aufzurufen, können Sie Reflexion verwenden. Das folgende Code -Fragment zeigt, wie man erreicht:

In diesem Code wird der Name der aufgerufenen Methode in variabler

gespeichert. Durch das Erhalten der -Stanz (
<code class="language-csharp">Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(TheCommandString);
theMethod.Invoke(this, userParameters);</code>
) des aktuellen Objekts wird die

-Methode verwendet, um die Referenz auf die Methode gemäß dem Namen zu erhalten. Schließlich wird die -Methode verwendet, um die Methode zum Übergeben des Zielobjekts (dieses) und des erforderlichen Parameters auszuführen. TheCommandString Type Besuchen Sie private Methoden thisType GetMethod Invoke Es ist zu beachten, dass die aufgerufene Methode im Kontext der Reflexionsoperation zugänglich sein muss. Standardmäßig kann auf die Methode zur Verwendung des privaten Zugriffs zu Modifikatoren in dieser Methode nicht zugegriffen werden. Um dieses Problem zu lösen, können Sie

Parameter in den -Anruf einbeziehen, wie unten gezeigt:

Durch diese Modifikation werden die Flags

und

Bindungsflags angegeben, sodass die Anrufmethode unabhängig von ihrem Zugriff auf den Modifikator ermöglicht wird. GetMethod

Das obige ist der detaillierte Inhalt vonWie kann ich eine C# -Funktion mit ihrem als Zeichenfolge gespeicherten Namen aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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