适用范围
协变逆变在接口泛型和委托泛型中而言
协变
把子类赋值给父类。OUT只能修饰输出参数。
IEnumerable<Para> lp = new List<Chid>();
IMyCustomList<Para> c = new MyCustomList<Chid>();
逆变
把父类赋值给子类。IN只能修饰输入参数。
IMyCustomList<Chid> c = new MyCustomList<Para>();
面向对象中任何父类都可以用子类表示,就是把子类赋值给父类。但是不能把父类赋值给子类。
时间: 2024-12-19 12:06:16