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

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

相关推荐
rockey62712 小时前
AScript动态脚本多语言环境支持
sql·c#·.net·script·eval·function·动态脚本
ou.cs12 小时前
c# SemaphoreSlim保姆级教程
开发语言·网络·c#
龙侠九重天12 小时前
ML.NET 实战:快速构建分类模型
分类·数据挖掘·c#·.net
fengyehongWorld14 小时前
C# 创建Worker,杀死指定程序的线程
c#
Nuopiane18 小时前
C#基础(1)堆栈、GC与Marshal
unity·c#
FuckPatience18 小时前
Visual Studio C# 项目中文件后缀简介
开发语言·c#
游乐码1 天前
c#泛型约束
开发语言·c#
hoiii1871 天前
C# 基于 LumiSoft 实现 SIP 客户端方案
前端·c#
yongui478341 天前
C# 与三菱PLC通讯解决方案
开发语言·c#
jerryinwuhan1 天前
RDD第二次练习
开发语言·c#