①、什么是委托?
C#中的委托(Delegate)类似于C或C++中的函数指针。委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时改变。委托声明决定了可由该委托引用的方法,委托可指向一个与其具有相同标签的方法。
一旦声明了委托类型,委托对象必须使用new关键字来创建,且与一个特定的方法有关。当创建委托时,传递到new语句的参数就像方法调用一样书写,但是不带有参数。
(通俗讲就是委托别人去做,本来应该自己去做的事情,即将做事的方法委托)
②、什么是委托的多播?
委托对象可使用"+"运算符进行合并。一个合并委托调用它所合并的两个委托。只有相同类型的委托可被合并。“-”运算符可用于从合并的委托中移除组件委托。
使用委托的这个有用的特点,您可以穿件一个委托被盗用的方法的调用列表。这被称为委托的多播,也叫组播。
(通俗讲就是,委托别人做事,别人做完一件事后,又让别人接着做其他事情,即多个做事方法的委托)
③、什么时候用委托?
个人现阶段认为:想要将方法作为参数使用的时候。
④、为什么用委托,给我们带来哪些方便?
通过此次的机房重构,很直观的一个作用就是减少了冗余代码。
⑤、设计模式中哪个模式用到了委托?
观察者模式
⑥、委托与事件的区别?
委托中没有通知的成分,个人感觉更像数据库中的触发器;而事件则是在发生其他类或对象关注的事情时,类或对象可通过事件通知。
⑦、代码展示如何使用委托:
我