C#学习 委托 (17)

概念

构建对内部方法的引用,两者参数和返回值必须一致。

代码

delegate int NumberOper(int k);

public class DelegateTest
{
    private static int m = 0;

    public static int add(int i)
    {
        m += i;
        return m;
    }

    public static int multi(int i)
    {
        m *= i;
        return m;
    }

}

// 单个代理
NumberOper n1 = new(DelegateTest.add);
NumberOper n2 = new(DelegateTest.multi);
Console.WriteLine(n1(10)); // 结果:10
Console.WriteLine(n2(10)); // 结果:100

// 组合代理
NumberOper n3 = n1;
n3 += n2;
Console.WriteLine(n3(5)); // 结果:525

posted @ 2024-11-12 10:54  huiy_小溪  阅读(1)  评论(0编辑  收藏  举报