Определение метода C# слишком сложно
Когда я посмотрел документацию по методу EditorFor из библиотеки MVC, я наткнулся на определение этого метода:
public static MvcHtmlString EditorFor<TModel, TValue> {
this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression,
Object additionalViewData
}
Мне было трудно понять, но я думаю, что HTML-помощники могут быть полезны, поэтому я хочу понять, и я также хочу выяснить его логику, чтобы я мог использовать его в определениях других методов. Буду признателен, если вы можете помочь.
Изменить: Что может быть правильное использование этого определения метода?
1 ответ
Это метод расширения (вот почему вы видите this
а также static
). Требуется два универсальных типа (<TModel, TValue>
), которые вы должны указать при вызове метода, чтобы затем их можно было использовать / ссылаться на них (включая другие параметры, например HtmlHelper<TModel>
). Этот метод вернет объект типа MvcHtmlString
,
Это все, что вы можете собрать из подписи. Что он на самом деле делает и / или как он это делает, можно узнать только из его содержимого.
Чтение:
Методы расширения:
http://msdn.microsoft.com/en-GB/library/bb383977.aspx
Обобщения:
http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx