Warum scheint Task.Run Func <T> anders zu behandeln als anderen Code?
Die neue statische Task.Run-Methode in .NET 4.5 scheint sich nicht wie erwartet zu verhalten.
Zum Beispiel:
Task<Int32> t = Task.Run(()=>5);
Kompiliert gut, aber
Task<Int32> t = Task.Run(MyIntReturningMethod);
...
public Int32 MyIntReturningMethod() {
return (5);
}
beschwert sich, dass MyIntReturningMethod den falschen Typ zurückgibt.
Vielleicht verstehe ich einfach nicht, welche Überladung von Task.Run aufgerufen wird. Aber in meinen Augen sieht mein Lambda-Code oben sehr nach a ausFunc<Int32>
und MyIntReturningMethod ist definitiv kompatibel mitFunc<Int32>
Irgendwelche Ideen, was los ist? Michael