Heim >Backend-Entwicklung >C++ >Kann C# eine Funktion von einer Zeichenfolge aufrufen?

Kann C# eine Funktion von einer Zeichenfolge aufrufen?

DDD
DDDOriginal
2025-01-26 02:09:08317Durchsuche

Can C# Call a Function from a String?

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!

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