刘铁猛《C#语言入门详解》019 委托详解
什么是委托delegate
委托是函数指针的升级版
举例说明:C/C++中的函数指针
程序员常提及的概念:一切皆地址
1)变量(数据)是以某个地址为起点的一段内存中所存储的值
解释:数据存储在变量中,变量的本质:以变量名所对应的内存地址为起点的一段内存[存储着变量的数据],内存的大小由数据类型决定
2)函数(算法)是以某个地址为起点的一段内存中所存储的一组机器语言指令
函数的本质:以函数名所对应的内存地址为起点的一段内存,在这段内存中存储的是一组机器语言的指令,CPU按照这组指令一条一条完成
3)直接调用&间接调用
1)直接调用:通过函数名调用函数,CPU通过函数名直接获得函数的地址并开始执行 返回
2)间接调用:通过函数指针调用函数,CPU通过读取函数指针中存储的值获得函数的地址并开始执行 返回
模板方法案例
namespace DelegateExample
{
class Program
{
static void Main(string[] args)
{
ProductFactory productFactory = new ProductFactory();
WarpFactory warpFactory = new Wa