Bonjour,

J'ai un petit souci d'héritage. Je vous expose le problème :

J'ai une classe Hand.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
public class Hand : List<Card> 
[...]
Dans une autre classe, j'ai le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Hand hand = new Hand();
[...]
hand = hand.OrderBy(c => c.Val).ToList();
Le code ne compile pas et j'ai l'erreur suivante : "Impossible de convertir implicitement le type 'System.Collections.Generic.List<Poker.Card>' en 'Poker.Hand'. Une conversion explicite existe (un cast est-il manquant*?)
". Ce que je ne comprends déjà pas puisque la classe Hand hérite de List<Card>.


J'essaye donc de faire le cast :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
hand = (Hand)hand.OrderBy(c => c.Val).ToList();
Cette fois, le code compile mais me renvoie une erreur au Runtime :
"Impossible d'effectuer un cast d'un objet de type 'System.Collections.Generic.List`1[Poker.Card]' en type 'Poker.Hand'"

Si vous pouviez m'éclairer, je vous remercie.