委托是寻址方法的.Net版本!类似于函数指针,使用委托可以把函数作为参数进行传递。
在C++中,指针函数只不过是一个指向内存位置的指针,他不是类型安全的。我们无法判断这个指针实际指向什么,像参数和返回类型等无从知晓。而.net委托是类型安全的类。他定义了返回类型和参数的类型,委托类不仅包含了对方法的引用,而且包含了对多个方法的引用。
委托对象特别之处在于,之前定的的对象都包含数据,而委托对象包含一个或是多个方法的地址。
委托推断:
为了减少输入量,只要需要委托实例,就可以只传地址的名称,这称之为委托推断!
GetStr str=new GetStr(x);
GetStr str=x;
两者等同。C#编译器生成的代码是一样的。