Salut à tous,

Sachant que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public interface InterfaceA : interfaceB {...}
, j ai une fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
void fonction(ICollection<InterfaceB> _param){...}
et je lui donne un objet de ce type à manger :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ICollection<InterfaceA> ObjA=...;
fonction(ObjA);
.

Evidemment ca demande un cast -->
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fonction((ICollection<InterfaceB>)ObjA)
On m'a mis en garde sur cette facon de faire : Il paraitrait que c est une nouvelle collection qui serais creer et les objets interne serais recopiés, d ou la perte de l'integrité referencielle.

Pouvez vous affirmé ou infirmé et dans le cas echeant proposer une solution ?
merci

PS : j' ai lu un article interessant sur la simulation de covariance pour les collections génériques