У меня очень простой код:
static void Main(string[] args)
{
var task = Task.Factory.StartNew(GetInt);
var task2 = Task.Factory.StartNew(
() =>
{
return GetInt();
});
}
static int GetInt()
{
return 64;
}
Почему я получаю ошибку компилятора для первой задачи? Сигнатуры методов (без параметров, тип возвращаемого значения int
) равны, не так ли?
Я знаю решение (довольно простое: var task = Task.Factory.StartNew<int>(GetInt);
), но я хотел бы знать, в чем проблема с приведенным выше кодом.
StartNew
не должна даже компилироваться. 05.04.2012