Почему нельзя вывести эти общие типы?

У меня есть следующий код:

public static class CardView {
    public static object Column<TModel, TResult>(Func<TModel, TResult> field) {
        return null;
    }
}

public class Person 
{
    public string Name { get; set; }
    public bool Gender { get; set; }
}

void Main()
{
    var model = new Person() { Name = "Andre", Gender = true };

    var b = CardView.Column(model => model.Name); // ERROR
    // The type arguments for method 'UserQuery.CardView.Column<TModel,TResult>(System.Func<TModel,TResult>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
}

По какой-то причине он не может вывести универсальные типы для метода Column . Мне нужно знать почему. Я не могу отказаться от вывода типов и указать типы самостоятельно, потому что это всего лишь пример большой проблемы, где он будет незаменим.

РЕДАКТИРОВАТЬ

Я неправильно написал код = / просто исправил

6
задан André Pena 7 December 2011 в 16:33
поделиться