委托

1.C#委托相当于C/C++中的函数指针。函数指针用指针获取一个函数的入口地址,实现对函数的操作。委托与C/C++中的函数指针不同之处在于,委托是面向对象的,是引用类型,因此对委托的使用要“先定义,后实例化,最后才能调用”

定义委托使用关键字delegate

delegate int SomeDelegate(int nID,string sName);

在实例化   //实例化的参数可以是非静态方法也可以是静态方法

SomeDelegate d1=new SomeDelegate(wr.InstanceMethod);

最后调用

d1(5,"aa");


通过委托SomeDelegate实现对方法InstanceMethod的调用,调用还必须有一个前提条件:方法InstanceMethod有参数且和定义SomeDelegate的参数一致,返回值一致;


public int InstanceMethod(int nID,string sName)


2.多播

相对于上面的一次委托只调用一个方法,一次委托也可以调用多个方法,这成为多播。一般是通过“+”和“-”运算符实现的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值