Как я могу назвать эту функцию?Как мне вызвать следующую функцию?
public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
string name, string optionLabel, object htmlAttributes)
Как я могу назвать эту функцию?Как мне вызвать следующую функцию?
public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
string name, string optionLabel, object htmlAttributes)
Внутри страницы (с использованием синтаксиса бритвы):
@Html.DropDownForEnum(typeof(enumToDropDown), name: "Foo", optionLable: "Bar", htmlAttributes: null)
Спасибо, что дали мне прямой ответ без трещин. – bman
Это метод расширения на HtmlHelper. Как это так, то следует назвать так:
HtmlHelper<TModel> instance = new HtmlHelper<TModel>();
instance.DropdownForEnum(type, name, optionLabel, htmlAttributes)
где TModel тип присваивается общий на момент объявления.
Смотрите также вопрос: MVC3 Razor DropDownListFor Enums
о методах расширения см это: http://msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx
Это extension
метод на HtmlHelper. Вы можете узнать больше об этом here.
Вы можете назвать это LKE это
yourhtmlHelperObject.DropdownForEnum(someType,someName,label,attributes);
«это» часть аргументов указывает мне, что это «метод расширения» - в основном вспомогательный метод, который делает некоторые общественные операции на объекте, но можно назвать так, как будто это метод этого объекта.
HtmlHelper<Model> helper;
Type type;
String name;
String optionLabel;
Object htmlAttributes;
helper.DropdownForEnum(type, name, optionLabel, htmlAttributes);
// or, the standard way for calling a static:
NameOfClassWhereYouFoundMethod.DropdownForEnum(helper, type, name, optionLabel, htmlAttributes);
, за исключением того, что функция имеет статическое объявление, поэтому она не будет вызвана в экземпляр HtmlHelper. –
@MikeCorcoran Все методы расширения объявляются статически, потому что экземпляр HtmlHelper указан как аргумент. (это HtmlHelper ...) – Katana314
ugh, brainfart. вы правы, я думал, что только декларация внешнего класса должна быть статической –
Какой полезный комментарий – bman