Laden...

ParameterizedThreadStart

Erstellt von Roki vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.434 Views
R
Roki Themenstarter:in
21 Beiträge seit 2006
vor 16 Jahren
ParameterizedThreadStart

Hallo,

ich versteh einfach nicht wie ich aus dem Object wieder ne ArrayList bekomme..


        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(new ParameterizedThreadStart(DoWork));

            ArrayList al = new ArrayList();
            al.Add("teil1");
            al.Add(2);

            t.Start(al);            
        }
        
        private void DoWork(Object o)
        {
         // was nun hier mit dem Object 'o' machen?   
            
        }

bitte kanns mir wer erklären?

vielen Dank!

193 Beiträge seit 2006
vor 16 Jahren

Gehen tut's so.

ArrayList al = o as ArrayList;

Erklären was da passiert; naja, da solltest du dir schon mal die Grundlangen von C# geben; sprich ein Buch lesen oder ein Blick nach links auf den Punkt "Ressourcen" im Hauptmenü von mychsharp.de werfen.

R
402 Beiträge seit 2005
vor 16 Jahren

hi, was Jake geschrieben hat, prüft in diesem Fall ob das übergebene Objekt vom Typ ArrayList ist, wenn ja, dann wird es auch in ArrayList umgewandelt wenn nein, steht im Objekt null drinen womit könntest du überprüfen ob auch wirklich eine ArrayList übergeben wurde,was in diesem Fall ja nicht notwendig ist,weil du es ja weißt.

eine zweite möglichkeit wäre,dass du das übergebene Objekt castets:
ArrayList list = (ArrayList)obj;

fertig!!

lg rizi

N
750 Beiträge seit 2004
vor 16 Jahren

dazu vielleicht mal kurz in die faq schauen:

[Tipp] Casten aber richtig: Begriffe wie Cast / is / as

(nur mal so als nebenhinweis 😉 )

?( wer suchet, der findet auch! :]

R
Roki Themenstarter:in
21 Beiträge seit 2006
vor 16 Jahren

Alles klar vielen Dank..

Typecast hatte ich im hinterkopf konnt aber irgendwie keine Querverbindung herstellen 🙂

gruß