Я создал метод расширения, который должен предоставлять текст заголовка таблицы для таблицы, содержащей коллекцию элементов типа IList<T>
.Хотя компилятор говорит, что TModel не может быть выведен из использования, однако для меня очевидно, что ограничение аргумента типа говорит, что TListModel
является IList<TModel>
, тогда TModel
действительно может быть выведено.
public static MvcHtmlString HeaderFor<TListModel, TModel, TValue>(this HtmlHelper<TListModel> listViewModel, Expression<Func<TModel, TValue>> expression)
where TListModel : IList<TModel>
TListModel
- это, скажем, List<Product>
, поэтому TModel
- это Product
, и поэтому я хотел бы использовать HtmlHelper следующим образом:
<th scope="col" class="azonosito">
@Html.HeaderFor(x => x.Price)
</th>
Теперь мне нужноиспользуйте это так, что так неловко:
<th scope="col" class="azonosito">
@Html.HeaderFor((Product x) => x.Price)
</th>