C# 委托 (delegate)

委托

委托概念:

委托是引用类型,也可以自定义类型;

换个概念:A委托B去做一件事。站在A的角度,A委托了B,站在B的角度,B是A的代理。

C#语言中的委托比较抽象:委托指向一系列具有相同签名和返回类型的方法的地址。

总结:委托是一系列方法地址的引用,委托就代理了一系列的方法。调用委托就相当于调用这一系列方法。

委托定义:

使用delegate关键字

在类内部可以定义,在类外部也可以,在方法中不能定义

 internal class Program
 {
     //定义委托,观察一下:委托和方法的形式的区别:a.没有方法体 b.多个delegate关键字。
     //可以没有返回,可以没有参数。
     public delegate void SayHello();
     public delegate bool Delegate1(string arg);
}

调用/使用委托:   

方法:返回值类型 返回值变量 = 方法名(形参列表):

委托不能像方法那样直接调用,委托没有方法体,委托必须代理某个方法

委托实例名直接调用。如:
SayHello sayChinese = new SayHello(SayChinese);
sayChinese();

Inovke执行委托
​ 如果委托定义没有参数,则Inovke也没有参数;委托没有返回值,则Inovke也没有返回值

BeginInvoke开启一个新线程执行委托
​NetCo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值