1.委托是什么
什么是委托?简单来说,委托类似于 C 或 C++ 中的函数指针,允许将方法作为参数进行传递。
2.为什么需要委托
在很多场景下直接调用方法是比较简单方便的,但是在某些场景下,使用委托来调用方法能达到减少代码量
3.委托能用来做什么
1,启动线程和任务
Thread t = new Thread(new ThreadStart(Go));//public static GO(){}
2,设计模式中的简单工厂模式。
向一个方法中传递一个子类的方法。
3,事件。
4.如何自定义委托
1 | public delegate void Feedback(int num); |
.Net 的委托本质上就是指向函数的指针,只不过这种指针是经过封装后类型安全的。委托和线程是两个不同的概念,线程是动态的,委托就是一个或一组内存地址,是静态的。线程执行时如果遇到了指向函数的指针就执行这个函数。
5..NET默认的委托类型有哪几种
1,Action
:无返回值 2,Func
:有返回值
6.多播委托是什么
包含多个方法的委托叫做 多播委托。
多播委托的签名就必须返回 void;否则,就只能得到委托调用的最后一个方法的结果。
1 | //----多播委托------- |
7.什么是泛型委托
Action
8.什么事匿名方法
匿名方法是用作委托的参数的一段代码。
参考: