2018-11-15委托的定义和使用

本文深入探讨了委托的概念,解释了如何定义及使用委托。委托是一种特殊类型,用于引用方法,允许方法作为参数进行传递。文章提供了定义委托的语法指导,并通过示例展示了委托的创建和调用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

委托的定义:

委托是一个类型,这个类型可以赋值一个方法的引用。如果我们要把方法当作参数来传递的话,就要用到委托。

 

使用委托的两个阶段:首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例。

定义委托的语法如下:

    delegate void IntMethodInvoker(int x);//有参数,返回类型为void。

这个委托指向方法必须带有一个int类型的参数,并且方法的返回值是void的。

delegate double TwoLongOp(long first,long second);//这个委托指向的方法有两个参数,并且返回值为double类型。

delegate string GetAstring();//指向的方法没有参数,返回值为string。

使用委托:

//示例1:

static void Main(string[] args)
        {
            int x = 3;
            getAstring delgetAstring = new getAstring(x.ToString);
            Console.WriteLine(delgetAstring());
            Console.ReadKey();
        }
        delegate string getAstring();

通过委托示例调用方法有两种方式:

delgetAstring();

delgetAstring.Invoke();

 

//示例2:

        private delegate void printString();
        static void printStr(printString print)
        {
            print();
        }
        static void method1()
        {
            Console.WriteLine("method10");
        }
        static void method2()
        {
            Console.WriteLine("method20");
        }

        static void Main(string[] args)
        {
            printString method = method1;
            printStr(method);
            method = method2;
            printStr(method);
            Console.ReadKey();
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值