Template de liste, question POO
Bonjour,
j'ai un problème de conception, je ne sais pas trop comment le résoudre.
Je suis débutant en C#/C++ et j'ai beau avoir regardé en diagonale les design patterns, je bloque.
voilà mon problème :
J'ai des points :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public abstract class IPoint
{
public double x, y;
public int id;
}
public class MonPoint1 : IPoint
{
string name;
}
public class MonPoint2 : IPoint
{
int arc;
} |
Ils sont contenus dans des listes du genre :
Code:
1 2 3
|
List<MonPoint1> listePt1 ;
List<MonPoint2> listePt2 ; |
et je veux les afficher dans une fonction "générique", sachant que pour les afficher c'est la même chose
Code:
1 2 3 4 5 6 7 8
|
public void afficherPoints ( IList<IPoint> listePoint )
{
foreach( IPoint in listePoint)
{
drawPoint( IPoint.x , IPoint.y );
}
} |
voilà, ça c'est la théorie, sauf que - et c'est pas illogique - le compilateur ne veut pas me convertir
Code:
List<MonPoint1> listePt1 ;
ou
Code:
List<MonPoint2> listePt2 ;
en donc je ne peux pas appeler ma fonction "générique"
Comment faire ?
précision : je ne veux pas mettre du code d'affichage dans ma classe IPoint
Losformen