大家好,今天小编关注到一个比较有意思的话题,就是关于delegate的问题,于是小编就整理了4个相关介绍delegate的解答,让我们一起看看吧。
delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。
与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的引用。
上面的定义解释了一个delegate的声明定义了一个reference type, 而这个reference type是用来将一个方法利用一个指定的形式压缩起来。一个delegate的实例压缩一个静态或者一个实例方法。Delegates和C++中的功能指针很相似。然而,不同的是,delegate是安全的,并且是Type-safe。
C#中的委托
1. 委托类似与 C或C++中的函数指针,但委托是 面向对象的,并且是类型安全的
2. 委托 就相对与 一类方法 (即方法类,或者方法接口)
而这一类方法都具有相同的 修饰符、形参以及 返回值类型
委托,既是方法:
声明委托的方式如下:在修饰符后加上 delegate ['dɛlɪɡət]关键字
从格式上看,它与方法的声明极为相似,就是多了个 delegate关键字而已
表示声明了一类,修饰符为public、一个string类型形参的、没有返回值的方法
但委托不是普通的方法,因为它也是类,
所以委托只能声明,而不能定义,如不能这样写:
实例化委托,调用委托:
Delegate是是一种引用类型。用于声明委托。委托是一种引用类型,它引用类型的Shared方法或对象的实例方法。任何具有匹配参数类型和返回类型的过程均可用来创建此委托类的实例。然后就可以通过委托实例来调用过程。[<attrlist>][accessmodifier]_[Shadows]Delegate[Sub|Function]name[(Oftypeparamlist)][([parameterlist])][Astype]
delegate:指一般被派参加某一会议的代表。
heisoneofthedelegatestotheconference.(他是与会代表之一。)
representative:一般指被选举或委派代表某人或一些人或某个较大团体的人,其职务有时是较长期的。
arepresentativeofthecompanywillcallonyoutoassessthedamage.(公司的代表将前往贵处评估受损失的状况.)
appdelegate并不是真正的单例,真正的单例是uiapplication,它的sharedapplication方法是一个正式的单例方法,能够返回uiapplication的单例
到此,以上就是小编对于delegate的问题就介绍到这了,希望介绍关于delegate的4点解答对大家有用。