Funktion über String in C# aufrufen
PHP kann Funktionen über den in einer Zeichenfolge gespeicherten Funktionsnamen aufrufen. Zum Beispiel:
<code class="language-php">$function_name = 'hello'; $function_name(); function hello() { echo 'hello'; }</code>
Ist diese Funktion mit .NET möglich?
Ja. Sie können Reflektion verwenden, um diese Funktionalität zu erreichen. So geht's:
<code class="language-csharp">Type thisType = this.GetType(); MethodInfo theMethod = thisType.GetMethod(TheCommandString); theMethod.Invoke(this, userParameters);</code>
Bitte beachten Sie, dass die aufgerufene Methode über einen öffentlichen Zugriffsmodifikator verfügen muss. Verwenden Sie für nicht öffentliche Methoden den BindingFlags-Parameter:
<code class="language-csharp">Type thisType = this.GetType(); MethodInfo theMethod = thisType .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance); theMethod.Invoke(this, userParameters);</code>
Das obige ist der detaillierte Inhalt vonKann C# eine Funktion von einer Zeichenfolge aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!