Avatar billede chakawoo.dk Nybegynder
12. november 2003 - 14:42 Der er 14 kommentarer og
1 løsning

Objekter i Arraylist (typeof)

Jeg har en arraylist som indeholder en række VareObj objekter.
Jeg gennemløber arraylisten med en foreach løkke

foreach(object obj in Session){
}
problemet er at jeg ikke kan bruge de metoder jeg har defineret i VareObj klassen, da obj er af typen object.
Jeg mener at skulle bruge noget i stil med:
obj typeof VareObj
Kan det være rigtigt og hvor skal det stå??
Avatar billede erikjacobsen Ekspert
12. november 2003 - 14:48 #1
foreach(VareObj obj in Session){
Avatar billede chakawoo.dk Nybegynder
12. november 2003 - 14:53 #2
Det virker ikke..
når jeg skriver foreach(VareObj obj in Session){ får jeg at vide at "Specified cast is not valid"
Avatar billede erikjacobsen Ekspert
12. november 2003 - 14:57 #3
ok - det var mere et gæt end noget andet. Men hvis jeg må fortsætte gætteriet,
nu der ikke er andre:

oreach(object ob in Session){
VarObject obj = (VarObject) ob;

...men måske kan man gøre det smartere
Avatar billede chakawoo.dk Nybegynder
12. november 2003 - 15:18 #4
Jeg er glad for al den hjælp jeg kan få.

Det værste er at det har virket på et tidpunkt men jeg kom ved en fejl til at slette det... :-(
Det var noget i retning af:
foreach(object obj in (Session obj typeof VareObj)){
men nu får jeg problemer med en slut-parantes.
Det skal måske lige siges at jeg koder i C# for god ordens skyld
Avatar billede erikjacobsen Ekspert
12. november 2003 - 15:22 #5
Det er så ikke sikkert det er en hjælp du får .... ;) Vent til der kommer nogen,
der rent faktisk ved noget om det!
Avatar billede chakawoo.dk Nybegynder
12. november 2003 - 15:24 #6
OK tak for hjælpen Erik.... jeg venter spændt på om der er nogen der kan hjælpe
Avatar billede repsak Nybegynder
12. november 2003 - 15:43 #7
hvad putter du ind i arraylisten? (hvilken type objekter)
Avatar billede repsak Nybegynder
12. november 2003 - 15:54 #8
iøvrigt er den syntaks du henviser til nok nærmere:
'is' istedet for 'typeof'

så:
if(obj is VareObj){
  //Så har vi godt nok fat i et vareobjekt - bonus
}
else //Øv - dette objekt er ikke af typen VareObj
Avatar billede chakawoo.dk Nybegynder
12. november 2003 - 15:55 #9
Hej repsak ... det er mikkel fra skolen...

Du hjalp mig med at lave den der foreach sætning.
Men jeg kom til at slette .
Det er objekter af klassen VareObj.
Avatar billede repsak Nybegynder
12. november 2003 - 16:00 #10
Ahhh hey Mikkel :-)
hmmm så vidt jeg husker var koden ret lang, så kan du ikke sende den til kasper@cablesleep.dk? For der er sikkert rodet rundt i nogle typer
Avatar billede quaser Nybegynder
13. november 2003 - 08:15 #11
Kan heller ikke huske syntaksen i hovedet, men er Session en liste? Er det ikke et object med en liste?

F.eks. ItemList, som så lige skal skiftes ud med det rigtige...
foreach(VarObj obj in Session.ItemList){
}
Avatar billede repsak Nybegynder
13. november 2003 - 15:09 #12
jo, Session er en form for liste, men det kan ikke bruges, da han kode er
Session["liste"] = new ArrayList();
Derfor er det arraylisten og ikke sessionen gennemløbes :-)
Avatar billede quaser Nybegynder
13. november 2003 - 15:28 #13
Altså
foreach(VarObj obj in (ArrayList)Session["Liste"]){
}
Avatar billede chakawoo.dk Nybegynder
14. november 2003 - 10:58 #14
Det virkede fint quaser..... tak for det ... Smid lige et svar så du kan få pointene.
Avatar billede quaser Nybegynder
14. november 2003 - 21:46 #15
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester