标签: c#-4.0 covariance contravariance liskov-substitution-principle
LSP与协方差和逆变量之间有什么关系? 有什么关系吗? LSP是协方差的一种形式吗?
答案 0 :(得分:3)
我不会说Liskov's Substitution Principle是协方差的“形式”,因此通用协方差允许LSP在通用关系中表达。从C#4 / .NET 4开始,您可以将IEnumerable<Banana>视为IEnumerable<Fruit>并且应该能够在没有任何令人讨厌的意外的情况下这样做 - 这正是LSP所要求的,基本上。
IEnumerable<Banana>
IEnumerable<Fruit>