Ich stieß versehentlich auf ein Problem, das ich lösen konnte. Ich bin jedoch besorgt darüber, dass ich nicht verstehen konnte, warum der Code mit dem Fehlercode kompiliert werden konnte (auf den ersten Platz).Parametrisierte Aktion
Es folgt der Fehler-ed-Code, die fein kompiliert:
Task<string> myTask = Task<string>.Factory.StartNew(() =>
{
System.Threading.Thread.Sleep(1000);
return "mystrineg";
});
myTask.ContinueWith(t => action, CancellationToken.None,
TaskContinuationOptions.NotOnFaulted, TaskScheduler.Default);
Das Problem mit dem obigen Code ist: action
wird überhaupt nicht aufgerufen. Hier ist das Update ich gemacht:
Task<string> myTask = Task<string>.Factory.StartNew(() =>
{
System.Threading.Thread.Sleep(1000);
return "mystrineg";
});
myTask.ContinueWith(t => action(t.Result), CancellationToken.None,
TaskContinuationOptions.NotOnFaulted, TaskScheduler.Default);
Meine Frage ist, warum ist der Compiler eine parametrisierte Aktion ohne Argument aufrufen erlaubt?
Alle Antworten richtig sind. Allerdings musste ich mich für diejenige entscheiden, die früh ankam und klar war. Danke euch allen! – James