c#中的协变与逆变
时间:2023-10-26 20:49:34 雅雅
首先我们看一下msdn上关于这两个概念的说明:协变允许方法具有的派生返回类型比委托中定义的更多。逆变允许方法具有的派生参数类型比委托类型中的更少。不知道大家看到这两句话时是怎么理解的,反正我是没有理解清楚,于是放狗查了一下,最终我的理
首先我们看一下msdn上关于这两个概念的说明:协变允许方法具有的派生返回类型比委托中定义的更多。逆变允许方法具有的派生参数类型比委托类型中的更少。
不知道大家看到这两句话时是怎么理解的,反正我是没有理解清楚,于是放狗查了一下,最终我的理解是:
这些变化是在一个大的原则下进行的,即给程序所需要的范围一个更大的范围。
也许还是不清楚,来看一下小例子吧:
01 namespace ConsoleApplication1
02 {
03 class Program
04 {
05 static void Main(string[] args)
06 {
07 #region covariance test
08 Func
不知道大家看到这两句话时是怎么理解的,反正我是没有理解清楚,于是放狗查了一下,最终我的理解是:
这些变化是在一个大的原则下进行的,即给程序所需要的范围一个更大的范围。
也许还是不清楚,来看一下小例子吧:
01 namespace ConsoleApplication1
02 {
03 class Program
04 {
05 static void Main(string[] args)
06 {
07 #region covariance test
08 Func