Soit 3 classes A1, B1 et C1, B1 et C1 héritant toutes 2 de A1.
Soit 3 autres classes A2, B2 et C2, B2 et C2 héritant toutes 2 de A2.
J'ai une méthode qui prend en paramètre une collection ne contenant que des éléments de type B1 ou que des éléments de type C1. Elle renvoit une collection ne contenant soit que des éléments de type B2 (si la collection passée en paramètre ne contient que des éléments de type B1), soit que des éléments de type C2.
J'aimerai donc avoir une signature de la sorte (qui a du sens pour moi, mais je dois mal concevoir la chose...) :
Cependant, je ne peux pas lui passer une Collection<B1> ou Collection<C1> en paramètre, de même que je ne peux pas caster le retour en Collection<B2> ou Collection<C2>...
Code : Sélectionner tout - Visualiser dans une fenêtre à part public Collection<A2> foo (Collection<A1> collection);
Puis-je faire quelque chose de similaire proprement ?
Je précise que je comprends tout à fait pourquoi cela ne marche pas, mais je ne vois pas comment faire pour faire fonctionner un truc du genre... Est-ce possible ?
Merci pour votre aide...
Partager