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

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

相关推荐
xiaoshuaishuai85 小时前
C# GPU算力与管理
开发语言·windows·c#
hez20107 小时前
C# 15 类型系统改进:Union Types
c#·.net·.net core
FL16238631298 小时前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#
C#程序员一枚9 小时前
高可用(High Availability, HA)
数据库·c#
weixin_5206498710 小时前
C#进阶-特性全知识点总结
开发语言·c#
fengyehongWorld10 小时前
C# 创建vba用的类库
c#
澄澈青空~11 小时前
有一个叫R2C,也有一个叫G2C
java·数据库·人工智能·c#
PGFA13 小时前
深度剖析 C# LINQ 底层执行机制:别让你的应用内存莫名其妙“爆”掉!
c#·solr·linq
2601_9498146915 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
CSharp精选营15 小时前
C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生
c#·try-catch·事务处理·transactionscope