Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh lulus kaedah sebagai parameter dalam C# menggunakan perwakilan?

Bagaimanakah saya boleh lulus kaedah sebagai parameter dalam C# menggunakan perwakilan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-02-01 01:31:09913semak imbas

How Can I Pass Methods as Parameters in C# Using Delegates?

lulus dalam c# sebagai parameter

Apabila memproses pelbagai kaedah dengan parameter yang sama dan jenis yang kembali, tetapi melaksanakan kaedah yang berbeza, anda perlu memanggil kaedah ini secara dinamik mengikut nama kaedah. Dalam C#, penggunaan komisen adalah penyelesaian yang berkesan.

Dalam contoh yang disediakan, matlamatnya adalah untuk membuat kaedah

, yang menggunakan nama kaedah lain sebagai parameter dan memanggil kaedah. Kerana parameter memerlukan tandatangan kaedah tertentu, kerumitan akan berlaku.

. NET Framework menyediakan komisen yang dipanggil RunTheMethod, yang membolehkan kami menentukan jenis tanda tangan Kaedah Keselamatan. Dengan menggunakan , kita boleh menentukan parameter RunTheMethod sebagai kaedah yang menerima parameter rentetan dan mengembalikan integer.

Berikut adalah pelaksanaan selepas pengubahsuaian: Func Func RunTheMethod melalui pengubahsuaian ini, kini kita boleh lulus kaedah yang berbeza sebagai parameter untuk

:

<code class="language-csharp">public bool RunTheMethod(Func<string, int> myMethodName)
{
    int i = myMethodName("My String");
    return true;
}</code>
Kaedah ini menyediakan fleksibiliti dan memudahkan organisasi kod dengan membenarkan kaedah panggilan dinamik mengikut nama kaedah.

Atas ialah kandungan terperinci Bagaimanakah saya boleh lulus kaedah sebagai parameter dalam C# menggunakan perwakilan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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