Определение метода 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

Другие вопросы по тегам