La covarianza de tablas es el resultado de llevar el polimorfismo al
mundo de las tablas. Es decir, es la capacidad de toda tabla de poder almacenar
elementos de clases hijas de la clase de elementos que pueda almacenar. Por
ejemplo, en tanto que todas clases son hijas de System.Object, la
siguiente asignación es válida:
string[]
tablaCadenas = {“Manolo”, “Paco”, “Pepe”};
object[]
tablaObjetos = tablaCadenas;
Hay que tener en cuenta que la
covarianza de tablas sólo se aplica a objetos de tipos referencia y no a
objetos de tipos valor Por ejemplo, la siguiente asignación no sería válida en
tanto que int
es un tipo por valor:
int[]
tablaEnteros = {1, 2, 3};
object[]
tablaObjetos = tablaEnteros;