协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

一、协变

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

 

1.1 接口IIndex<out T>

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

1.2 子类Rectangle

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

1.3 父类Shape

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

1.4 类RectangleCollection

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

 

二、逆变

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

2.1 接口IDisplay<in T>

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

2.2 类ShapeDisplay

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)

 

三、主程序

协变和逆变个人理解(参考c#高级编程5.4-泛型接口)