c# .net why does Task.Run seem to handle Func<T> differently than other code?
===

The new Task.Run static method that's part of .NET 4.5 doesn't seem to behave as one might expect.

For example:

    Task<Int32> t = Task.Run(()=>5);     

compiles fine, but

    Task<Int32> t = Task.Run(MyIntReturningMethod);
    ...
    public Int32 MyIntReturningMethod() {
      return (5);
      }

complains that MyIntReturningMethod is returning the wrong type.

Perhaps I am just not understanding which overload of Task.Run is being called. But in my mind, my lambda code above looks a lot like a `Func<Int32>`, and MyIntReturningMethod is definitely compatible with `Func<Int32>`

Any ideas of what's going on?
Michael