Contravariance et Covariance
Contravariance et Covariance
La covariance et la contravariance sont des termes qui font référence à la possibilité d'utiliser un type plus ou moins dérivé (plus ou moins spécifique) que celui spécifié à l'origine.
Covariance
Vous permet d'utiliser un type plus dérivé que celui spécifié à l'origine.Vous pouvez assigner une instance de IEnumerable<Derived> à une variable de type IEnumerable<Base>.
Contravariance
Vous permet d'utiliser un type plus générique (moins dérivé) que celui spécifié à l'origine.Vous pouvez assigner une instance de IEnumerable<Base> à une variable de type IEnumerable<Derived>.
Invariance
Signifie que vous pouvez utiliser uniquement le type spécifié à l'origine : pour un paramètre de type générique indifférent, il n'est ni covariant ni contravariant.
Vous ne pouvez pas attribuer une instance de IEnumerable<Base> à une variable de type IEnumerable<Derived> et inversement.
Commentaires
Enregistrer un commentaire