Action就是泛型委托。
注意事项:
1.建议尽量使⽤这些委托类型,⽽不是在代码中定义更多的委托类型。这样可以减少系统中的类型数⽬,同
时简化编码
2.如果需要使⽤ref或out关键字,以传引⽤的⽅式传递⼀个参数,就可能不得不定义⾃⼰的委托:
delegate void Test(ref int i)
3.如果委托要通过C#的params关键字获取可变数量的额参数,要为委托的任何桉树指定默认值,或者要
对委托的泛型类型参数进⾏约束,也必须定义⾃⼰的委托类型
delegate void EventHandler(Object sender, TEventArgs e)
where TEventArgs : EventArgs;
4.使⽤获取泛型实参和返回值的委托时,可利⽤逆变与协变。逆变:⽗类转换为⼦类;协变:⼦类转换为
⽗类