La covariance, la contravariance et l'invariance décrivent comment la hiérarchie d'héritage de type existante change lorsqu'elle est soumise à une certaine transformation (comme l'utilisation dans les génériques).
Si la transformation conserve l'ordre de la hiérarchie d'origine, elle est "covariante".
S'il l'inverse, il est «contravariant».
S'il le casse, il est "invariant".
La spécification C # indique qu'un type d'argument ne peut pas être à la fois covariant et contravariant en même temps. Ceci est évident lors de la créa ...
Covariance est (à peu près) la capacité de héritage miroir de types "simples" dans des types complexes qui les utilisent.
Par exemple. Nous pouvons tou ...