1)委托跟class是相同的级别,在定义class的地方都可以定义委托
2)委托的实例化也跟class类一样,只是他必须添加参数,因为委托没有空参数列表的构造函数。如MyDelegate myDelegate=new MyDelegate()是错误的,我们必须带上参数,如MyDelegate myDelegate=new MyDelegate(方法名)这样才是正确的,记住其中的方法名后面是不带括号。
3)如果返回类型是void的话,我们可以使用委托链,可以看到效果,要是我们把有返回值的添加到委托链里面如果不使用ref 或者out 这样的关键字,我们只能看到委托中最后一个方法的执行结果。
4)委托后面的参数列表必须跟方法的参数列表完全一致(返回类型、顺序、个数等)
5)委托的返回类型也要跟方法保持一致。
6)调用委托的时候如果有参数列表一定要添加参数(跟调用方法相类似)
7)Func 和 Action 是微软封装好的方法,其中Func是有输入参数,有返回值的委托,至于类型我们可以自定义,如Func