public Task<Tresult> WrapIntoTask<Tresult>(Func<Tresult> function)
where Tresult : class
{
return Task.Run(function);
}
public Task<Tresult> WrapIntoTask<T, Tresult>(Func<T, Tresult> function)
where Tresult : class where T : class
{
return Task.Run(function); // Cannot pass in Func<T1, Tresult>
}
Erste Methode erfüllt die Anforderungen und funktioniert gut, während zweite Methode kompilieren nicht erlaubt.Func <T1, TResult> TResult in Aufgabe eingepackt
Wie geht man in T
Wert in Task
?
Nun, haben Sie gesagt, dass die Delegierten eine Funktion ist, einen einzelnen Parameter vom Typ 'T' nehmen, was Sie tun wollen, wenn übergeben ein Wert für diesen Parameter? Sie könnten 'Task.Run (new Func (() => function (someValue)))'. –
@ LasseV.Karlsen Das gibt 'Task>' zurück, nicht 'Task ', wie es beim ersten 'Task'-Aufruf der Fall ist. –
Karolis