Diskuze: argumenty ve vláknu C#

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

Aktivity (1)
Avatar
tomekmichalhu:21.3.2015 11:58

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:21.3.2015 12:35

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:21.3.2015 12:52

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:21.3.2015 13:07

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
Odpovídá na Gramli
tomekmichalhu:21.3.2015 13:44

už to de, dík :D

 
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.