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>
-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
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!