Rumah > pembangunan bahagian belakang > C++ > Bolehkah C# memanggil fungsi dari rentetan?

Bolehkah C# memanggil fungsi dari rentetan?

DDD
Lepaskan: 2025-01-26 02:09:08
asal
376 orang telah melayarinya

Can C# Call a Function from a String?

Fungsi panggilan melalui rentetan dalam C#

PHP boleh memanggil fungsi dengan nama fungsi yang disimpan dalam rentetan. Contohnya:

<code class="language-php">$function_name = 'hello';
$function_name();

function hello() { echo 'hello'; }</code>
Salin selepas log masuk

Adakah ciri ini boleh dilakukan dengan .NET?

Ya. Anda boleh menggunakan refleksi untuk mencapai fungsi ini. Begini caranya:

<code class="language-csharp">Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(TheCommandString);
theMethod.Invoke(this, userParameters);</code>
Salin selepas log masuk

Sila ambil perhatian bahawa kaedah yang dipanggil mesti mempunyai pengubah suai akses awam. Untuk kaedah bukan awam, gunakan parameter BindingFlags:

<code class="language-csharp">Type thisType = this.GetType();
MethodInfo theMethod = thisType
    .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance);
theMethod.Invoke(this, userParameters);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah C# memanggil fungsi dari rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan