Diskuze: argumenty ve vláknu C#

C# .NET .NET (C# a Visual Basic) argumenty ve vláknu C# American English version English version

Avatar
tomekmichalhu:

Dobrý den, když takto vytvořím nové vlákno tak všechno funguje:

Thread t = new Thread(new ThreadStart(metoda));
t.Start();

metoda nemá žádné argumenty.
Problém nastává když do metody přidám argument, začne to psát: Error 1 No overload for 'metoda' matches delegate. Nevíte někdo co s tím?

 
Odpovědět 21.3.2015 11:58
Avatar
Gramli
Redaktor
Avatar
Odpovídá na tomekmichalhu
Gramli:

Zkus:

Thread t = new Thread(new ParameterizedThreadStart(metoda));
t.Start();

vice: http://www.dotnetperls.com/…dthreadstart

Editováno 21.3.2015 12:35
Nahoru Odpovědět 21.3.2015 12:35
Kdo to říká ten to je...
Avatar
Odpovídá na Gramli
tomekmichalhu:

nepomohlo to, pořád to píše to samý

 
Nahoru Odpovědět 21.3.2015 12:52
Avatar
Gramli
Redaktor
Avatar
Odpovídá na tomekmichalhu
Gramli:

Jo sorry, parametr metody musi byt object
tedy:

int i = 5;
Thread t = new Thread(new ParameterizedThreadStart(metoda));
t.Start((object)i);

public void metoda(object parametr)
{
//tady si to muzes pretypovat na ten typ ktery si poslal jako object
//treba
int i = (int)parametr;
}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 21.3.2015 13:07
Kdo to říká ten to je...
Avatar
 
Nahoru Odpovědět  +1 21.3.2015 13:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.