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委托,让这个方法具有了动态计算的能力

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

相关推荐
唐青枫几秒前
终于不用手搓两级缓存了!C#.NET HybridCache 详解:L1 L2、标签失效与防击穿实战
c#·.net
hixiong12313 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
月昤昽15 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_202515 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
雪度娃娃18 小时前
基于TCP的网络词典
网络·c++·tcp/ip·c#
xxjj998a19 小时前
PHP vs C#:两大编程语言终极对比
开发语言·c#·php
工程师00719 小时前
C# 泛型:约束、协变逆变、底层模板生成机制
c#·泛型·逆变·协变
bestcxx20 小时前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
我是唐青枫20 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
性能优化·c#·.net
游乐码21 小时前
c#反射笔记二
笔记·c#