O Que É Covariância?
Covariância é a variância em que o subtyping entre argumentos de tipo flui na mesma direção para os tipos genéricos construídos a partir deles, de modo que um contêiner de um subtipo é um subtipo de um contêiner de um supertipo. É segura quando o parâmetro de tipo é apenas produzido, como uma sequência somente-leitura. Ler um subtipo onde um supertipo é esperado é sempre válido.
Por que isso importa
Covariância permite passar uma lista de um tipo mais específico onde uma lista de um tipo mais geral é esperada para uso somente-leitura. Saber quando é segura evita tanto APIs excessivamente rígidas quanto atribuições não sólidas.
Guias relacionados
What Is Contravariance?Contravariance reverses subtyping direction, so a consumer of a supertype can stand in where a consumer of a…
What Is Variance in Type Systems?Variance describes how subtyping between type arguments carries over to subtyping between the generic types b…
What Is Bounded Quantification?Bounded quantification constrains a generic type parameter to be a subtype of some bound, so code can rely on…