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

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

相关推荐
周杰伦fans22 分钟前
C# 中的 `Hashtable`
开发语言·c#
lingggggaaaa27 分钟前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
咩图1 小时前
WPF+Prism8.0.0.1909+C#创建一个桌面程序
c#·wpf·prism
Charles_go2 小时前
C#中级45、什么是组合优于继承
开发语言·c#
我是唐青枫2 小时前
一文理解 C#.NET Tuples:从基础到高级应用
c#·.net
Charles_go3 小时前
C#中级46、什么是模拟
开发语言·oracle·c#
一只爱做笔记的码农3 小时前
【BootstrapBlazor】移植BootstrapBlazor VS工程到Vscode工程,报error blazor106的问题
笔记·学习·c#
曹牧7 小时前
C#:姓名脱敏
开发语言·c#
缺点内向7 小时前
C# 中 Word 文档目录的插入与删除指南
开发语言·c#·word·.net
czhc11400756638 小时前
C# 1120抽象类 static
java·开发语言·c#