Probleme de Liste

cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 - 21 juin 2007 à 19:10
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 - 21 juin 2007 à 23:26
Bonjour j'ai  un proble de Type de variable, ma Globale Variable j'usqu'à présent dans tout mon projet est de type DrawRect une classe que j'implémente, mais ici compte tenue de fait que j'utilise des fonctionalités de Rectangle ma variable rect doit être de types Rectangle, mais alors au moment de l'ajouter à ma liste Obstacle il se pose un problème de type, pouver vous m'aider??

Rectangle rect;                  
                rect = selectRect.CoodinateRectangle();
                    if(GlobalVars.Instance.m_SearchRect.IntersectsWith(rect))
                        GlobalVars.Instance.Obstacles.Add(rect);

merci

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 juin 2007 à 19:25
Salut,
Si tu dois convertir ton Rectangle en object de type DrawRect (si j'ai bien compris...), tu peux par exemple faire un constructeur à DrawRect qui prend un Rectangle en paramètre.
Autre solution peut-être plus propre, faire un explicit operator pour convertir le type?

<hr />
-Blog-
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
21 juin 2007 à 19:49
Merci tout d'abord pour ton infos, mais comment faire un explicit operator?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 juin 2007 à 19:59
Exemple:










public



class



DrawRect

{
  

private



Rectangle
_rect =

Rectangle
.Empty;
  

public
DrawRect(

Rectangle
rect)
   {
     

this
._rect = rect;
   }

  

public



static



explicit



operator



DrawRect
(

Rectangle
rect)
   {
     

return



new



DrawRect
(rect);
   }
}

Rectangle r =
new
Rectangle(5, 5, 10, 10);

List<
DrawRect> lists =
new
List<
DrawRect>();
lists.Add((
Rectangle)r);

Opérateur implicite également possible, mais dans ce cas il faut faire attention aux pertes éventuelles pendant le cast...


<hr />
-Blog-
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
21 juin 2007 à 23:26
Ok merci j'essaye avec !!!!!!!!!!
0
Rejoignez-nous