c#的委托代码

cs 复制代码
    internal class Program
    {
        //声明一个委托
        public delegate int Weituo(int a, int b);
        //加减法
        public static int Add(int a, int b)
        {
            return a + b;
        }
        public static int Sub(int a, int b) { return a - b; }
        //使用传入不然类型的委托进行计算

        public static int Func(int a, int b,Weituo weituo) {
            return weituo(a, b);
        }
        static void Main(string[] args)
        {
            //实例化一个委托
            Weituo weituo=new Weituo(Add);
           int aa= weituo(2, 4);
            Console.WriteLine(aa);
            Console.WriteLine("调用方法进行委托");
            Func(15, 6, Sub);
            Console.WriteLine(Func(15, 6, Sub));


        }
    }

Func方法的参数列表中传入了一个Calc委托,让这个方法具有了动态计算的能力

在外面调用时,我们只要根据业务需求,给实参传入不同的方法,即可在同一方法中得到不同的结果,也就是上文所提到的在方法中使用委托参数,可以使该方法增加可扩展性

相关推荐
工程师00715 小时前
C# 值类型 / 引用类型 内存布局(栈、堆、托管堆)
c#·值类型与引用类型
chao18984417 小时前
完整MES系统实现 (C# 客户端服务器)
服务器·windows·c#
月昤昽18 小时前
autocad二次开发 2.旋转
c#·autocad·autocad二次开发
rockey62718 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本
工程师00718 小时前
C# 字符串不可变性 + 字符串驻留池原理
c#·字符串拘留池
唐青枫1 天前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
c#·.net
xiaohe071 天前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
yngsqq2 天前
平面图环 内轮廓
c#
rockey6272 天前
AScript之eval函数详解
c#·.net·script·eval·expression·动态脚本
He少年2 天前
【AI 辅助案例分享】
人工智能·c#·编辑器·ai编程