Mam naprawdę prosty kod:Task.Factory.StartNew() przeciąża
static void Main(string[] args)
{
var task = Task.Factory.StartNew(GetInt);
var task2 = Task.Factory.StartNew(
() =>
{
return GetInt();
});
}
static int GetInt()
{
return 64;
}
Dlaczego otrzymuję błąd kompilatora dla pierwszego zadania? Podpisy metod (bez parametrów, typ zwrotu to int
) są równe, nieprawdaż?
Znam rozwiązanie (które jest dość proste: var task = Task.Factory.StartNew<int>(GetInt);
), ale chciałbym wiedzieć, jaki jest problem z powyższym kodem.
Jaki jest błąd kompilatora? –
Proszę spróbować, mam tylko niemiecki tekst o błędzie kompilatora: "Der Aufruf unterscheidet nicht eindeutig zwischen folgenden Methoden und Eigenschaften:" System.Threading.Tasks.TaskFactory.StartNew (System.Func ) "und" System.Threading. Tasks.TaskFactory.StartNew (System.Action) "" ale to nie ma sensu, ponieważ 'GetInt' zwróci' int' not 'void' –
GameScripting