Covariance (协变), Contravariance (逆变) and Invariance (不变)
关于类型和子类型之间的关系,关于类型转换,决定方法是被重写还是重载。
只用于泛型接口或泛型委托。
在泛型中,是需要严格类型匹配的,才能保证类型安全。在某些场景中为了兼顾灵活性、复用性,便有了协变、逆变。
输出 out 协变,可用派生程度更大的子类替换父类型的参数,只能用于方法的返回值。子类隐式转换为父类,就是标准的里氏替换原则。
IEnumberable
IEnumberable

浙公网安备 33010602011771号