Новый статический метод Task.Run, который часть .NET 4.5, похоже, не ведет себя так, как можно было бы ожидать.
Например:
Task<Int32> t = Task.Run(()=>5);
компилируется отлично, но
Task<Int32> t = Task.Run(MyIntReturningMethod);
...
public Int32 MyIntReturningMethod() {
return (5);
}
жалуется, что MyIntReturningMethod возвращает неправильный тип.
Возможно, я просто не понимаю, какая перегрузка Task.Run вызывается. Но, на мой взгляд, мой лямбда-код выше выглядит как Func<Int32>
, а MyIntReturningMethod определенно совместим с Func<Int32>
Любые идеи о том, что происходит? Майкл