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

Bagaimanakah saya boleh lulus kaedah sebagai parameter dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-02-01 01:16:09669semak imbas

How Can I Pass Methods as Parameters in C#?

c# Parameter kaedah lulus: panduan praktikal

C# menawarkan mekanisme yang kuat untuk kaedah lulus sebagai parameter kepada kaedah lain, dengan ketara meningkatkan fleksibiliti kod dan kebolehgunaan semula. Ini dicapai menggunakan perwakilan.

Contoh di bawah menggambarkan isu biasa: cuba lulus nama kaedah ke kaedah lain () tanpa menentukan parameter dengan betul. Pendekatan ini gagal kerana definisi parameter yang tidak mencukupi dalam

. RunTheMethod RunTheMethod Penyelesaian ini melibatkan penggunaan

perwakilan.

mewakili kaedah yang menerima parameter jenis Func dan mengembalikan nilai jenis Func<T, TResult>. Ini membolehkan spesifikasi parameter yang tepat dalam kaedah penerima. T TResult inilah coretan kod yang diperbetulkan yang menunjukkan penggunaan Delegasi

:

Func

Dalam kod yang lebih baik ini,
<code class="language-csharp">public class Class1
{
    public int Method1(string input)
    {
        // ... perform operations ...
        return 0;
    }

    public int Method2(string input)
    {
        // ... perform different operations ...
        return 1;
    }

    public bool RunTheMethod(Func<string, int> myMethodName)
    {
        // ... initial operations ...
        int result = myMethodName("My String");
        // ... subsequent operations ...
        return true;
    }

    public bool Test()
    {
        return RunTheMethod(Method1);
    }
}</code>
menerima parameter

. Ini menandakan bahawa ia menjangkakan kaedah mengambil hujah rentetan dan mengembalikan integer. RunTheMethod dan Func<string, int> sepadan dengan tandatangan ini, membolehkan mereka diluluskan dengan jayanya. Method1 Method2 Teknik ini, menggunakan perwakilan, memudahkan penyerahan kaedah dinamik dan dengan ketara meningkatkan modulariti kod dan pemeliharaan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh lulus kaedah sebagai parameter dalam C#?. 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