Hjalp til: Object does not contain a definition

Tags:    c#

Kan nogen forklare mig hvordan jeg tilgar (class)object methods i arraylist'er

Min arraylist'e indeholder spiller objekter.
Arraylist players = new ArrayList();

sa indsatter jeg spiller objekter, hvis de ikke findes og ellers opdaterer jeg bare.

if(players.Count > 0)
{
int i = 0;
while(i<players.Count)
{
if(players.compareName(nameStr))
{
players.addImage(imgStr);
break;
}
else
{
i++;
}
}
if(i==players.Count)
{
players.Add(new Player(nameStr, guidStr, imgStr));
}
}

comepareName og addImage giver fejl:
'Object' does not cobntain a definition for
comepareName/addImage

og begge metoder ER defineret i Player klassen

Undskyld jeg ikke ved om det er fedtet med 20 points.

Tak Martin.
Du far de 20 point hvis ingen andre kommer med svar.
Jeg fandt selv ud af den samme losning, som du forslar.

Men jeg vil gerne vide det er muligt at tilga metoderne uden at skulle oprette et midlertidigt objekt?
Og den forste IF skal slettes ellers komme man ikke ind while, forste gang nar Arraylisten er tom

[Redigeret d. 12/09-05 03:42:22 af thomas]




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Kan nogen forklare mig hvordan jeg tilgar (class)object methods i arraylist'er

Min arraylist'e indeholder spiller objekter.
Arraylist players = new ArrayList();

sa indsatter jeg spiller objekter, hvis de ikke findes og ellers opdaterer jeg bare.

if(players.Count > 0)
{
int i = 0;
while(i<players.Count)
{
if(players[ i ].compareName(nameStr))
{
players[ i ].addImage(imgStr);
break;
}
else
{
i++;
}
}
if(i==players.Count)
{
players.Add(new Player(nameStr, guidStr, imgStr));
}
}

comepareName og addImage giver fejl:
'Object' does not cobntain a definition for
comepareName/addImage

og begge metoder ER defineret i Player klassen

Undskyld jeg ikke ved om det er fedtet med 20 points.


Når du indsætter et objekt (i dit tilfælde af typen Player) i en ArrayList bliver objektet "konverteret" til et Object.
Når du så hiver det ud af din ArrayList igen skal du "konvertere" det tilbage.
Det gøres således:

Player p = (Player)players[ i ];
Derefter kan du kalde dine metoder på Player objektet p.

Hilsen

Martin Dybdal (Dybber)

[Redigeret d. 11/09-05 19:22:10 af Martin Dybdal]



t