1,委托是安全的函数指针,是因为委托所指向的方法的参数和返回类型,必须和委托定义的意志.
2,deledate委托,本身是类型,通过反编译锅具能看出来,委托编译之后就是一个类,class
既然是类,那么任何一个类都可以使用这个类
3,even事件,是对象.智能当前类使用,
4,所以事件比委托安全.事件也是一种特殊的委托.
c#内置两个委托
Func<>
public delegate TResult Func<out TResult>();out代表函数返回值类型,in 代表入参类型
public delegate TResult Func< in T,out TResult>(T arg); arg代表参数
Action<>
public delegate void Action<in T>(T obj);
public delegate void Action<in T,in T2>(T args1,T2 args2)
区别,func可以有入参有返回值
acton没有返回值.
另外Predicate<>代表返回bool类型的委托
public delegate bool Predicate
Comparison<>代表返回int类型的委托
public delegate int Comparison