jjzjj

c# - 变体和开放泛型 IReadOnlyList

我试图理解为什么C#中有关变体和泛型的特定行为无法编译。classMatrixwhereTLine:ILine{TLine[]_lines;IReadOnlyListLines{get{return_lines;}}//doesnotcompileIReadOnlyListLines{get{return_lines;}}//compile}我不明白为什么这不起作用:_lines,属于TLine[]类型,工具IReadOnlyListIReadOnlyList是一个变体通用接口(interface),这意味着,据我所知,任何实现IReadOnlyList的东西可以用作IReadOnly