委托与事件

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

原文地址:https://www.cnblogs.com/valiant1882331/p/4896658.html