c # .net ¿por qué parece que Task.Run maneja Func <T> de manera diferente a otro código?
El nuevo método estático Task.Run que forma parte de .NET 4.5 no parece comportarse como uno podría esperar.
Por ejemplo:
Task<Int32> t = Task.Run(()=>5);
compila bien, pero
Task<Int32> t = Task.Run(MyIntReturningMethod);
...
public Int32 MyIntReturningMethod() {
return (5);
}
se queja de que MyIntReturningMethod está devolviendo el tipo incorrecto.
Quizás no entiendo a qué sobrecarga de Task.Run se está llamando. Pero en mi mente, mi código lambda anterior se parece mucho a unFunc<Int32>
, y MyIntReturningMethod es definitivamente compatible conFunc<Int32>
¿Alguna idea de lo que está pasando? Miguel