------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
——委托
什么是委托:
委托是一种用于封装方法的类型,是一个能够引用方法的对象,能够调用它所指向的方法,在程序运行期间,同个委托可以调用不同的方法,委托是委托类型的实例
委托的基类:
System.Delegate类,其本身不是委托类型,且不允许显式的直接从该类派生新的类型
声明委托:
创建一个协定,该协定指定一个或多个方法的签名
引用静态方法或者实例方法
(声明委托需要使用delegate关键字
语法:
访问修饰符 delegate返回值类型(方法参数)
访问修饰符:
Public:表示该委托是公开的,访问不受限制
Protected:表示该委托只能是本身委托访问
Internal:表示该委托只能是在当前应用程序中访问
Private:表示该委托只能是本身访问
(注意:只有在其他类型中声明委托时,才能够使用new修饰符,它表示所声明的委托会隐藏具有相同名称的继承成员)
返回值类型:
返回值类型和传入的方法共同确定方法的返回类型,方法名,方法参数
例如:
publicdelegateintMyDelegate(int i,int j);//声明委托MyDelegate
(注意:委托类型是默认从System.Delegate派生的类类型,它隐含为密封类型化,因此不能从委托类型派生一个新的类型)
向委托注册方法:
委托声明好以后,就需要给委托添加方法列表,使得创建对象后可以依次执行各个方法
注册方法到委托时,该方法的签名必须和该委托的所指定的签名完全匹配
匹配规则:
a).方法返回类型必须和委托的返回类型相同
b).方法的方法参数必须和委托的的方法参数相同,参数的具体名称可以不相同
例如:
声明五个方法:F1,F2,F3,F4,F5,判断它们能否注册到MyDelegate委托中
publicvoid F1(int i, int j);//不能,原因:返