C # 2.0 La liste générique des génériques: Liste & lt;
Même s'il est explicitement transformé, il échouera, ce qui met en évidence le problème. Il devrait être clair que ce n'est pas un problème de coordination. En fait, afin d'assurer la sécurité de la compilation, cette affectation est clairement interdite.
List<动物> animalsList = new List<长颈鹿>();
Ce code semble inoffensif, mais il peut provoquer un comportement accidentel et des dommages aux données. Attribuez le type dérivé (lion) au type de base (animal) pour permettre la violation des règles de sécurité de type.
List<长颈鹿> giraffes = new List<长颈鹿>(); giraffes.Add(new 长颈鹿()); List<动物> animals = giraffes; animals.Add(new 狮子());
Introduction du support de variance de sécurité en C # 4, mais seulement limité aux interfaces et à la commission commandée. Les coordonnées sont autorisées à être utilisées pour Func
et ienumeration
, et les onduleurs sont autorisés à utiliser.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!