T'as Deja essaye un truc du genre:
Class a
Class b extends a
Class c
Method qui retourne List de B
List de A maListe=c.maMethode()?
C'est normal que ça ne marche pas : si ça marchait, tu pourrais ensuite y coller des C (qui extends A aussi) or, non, c.maMethode() c'est une liste de B, spécifiquement cette fille de A, pas n'importe quelle fille de A.
Essaye :
List de A maListe = new "ArrayList de A"(c.maMethode())
ça marchera mieux et ça t'évitera de gueuler sur les generics alors que tu essaies juste de violer le typage.
Pour le concrete type, tu marques un demi-point (le problème est plus complexe que tu ne veux l'exposer, et je pourrais botter en touche en qualifiant les cas où tu ne peux réellement pas t'en sortir, de cas limites où tu ferais mieux de revoir ton archi au lieu de faire des gruikeries).
Pour le logger je suis eu ; faudrait que je creuse. Mais bon, avec un peu de mauvaise foi et de condescendance, je vais partir sur l'idée que, vu qu'au premier point, tu as montré que tu avais des lacunes sur le typage... :-D
[^] # Re: En quoi C# est un problème ?
Posté par Sufflope (site web personnel) . En réponse au journal la Geste de l'Estudiant.. Évalué à 1.
Class a
Class b extends a
Class c
Method qui retourne List de B
List de A maListe=c.maMethode()?
C'est normal que ça ne marche pas : si ça marchait, tu pourrais ensuite y coller des C (qui extends A aussi) or, non, c.maMethode() c'est une liste de B, spécifiquement cette fille de A, pas n'importe quelle fille de A.
Essaye :
List de A maListe = new "ArrayList de A"(c.maMethode())
ça marchera mieux et ça t'évitera de gueuler sur les generics alors que tu essaies juste de violer le typage.
Pour le concrete type, tu marques un demi-point (le problème est plus complexe que tu ne veux l'exposer, et je pourrais botter en touche en qualifiant les cas où tu ne peux réellement pas t'en sortir, de cas limites où tu ferais mieux de revoir ton archi au lieu de faire des gruikeries).
Pour le logger je suis eu ; faudrait que je creuse. Mais bon, avec un peu de mauvaise foi et de condescendance, je vais partir sur l'idée que, vu qu'au premier point, tu as montré que tu avais des lacunes sur le typage... :-D