如何调用以下功能?

时间:2013-08-06 15:08:41

标签: c# generics

如何调用此功能?

public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
    string name, string optionLabel, object htmlAttributes)

4 个答案:

答案 0 :(得分:5)

在页面内(使用razor语法):

@Html.DropDownForEnum(typeof(enumToDropDown), name: "Foo", optionLable: "Bar", htmlAttributes: null)

答案 1 :(得分:2)

参数的“this”部分向我表明这是一个“扩展方法” - 基本上是一个辅助方法,它对一个对象进行一些公共操作,但可以被调用,好像它是该对象的一个​​方法。 p>

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);

答案 2 :(得分:1)

这是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

答案 3 :(得分:1)

这是 HtmlHelper 上的extension方法。您可以阅读更多相关信息here

你可以称之为

 yourhtmlHelperObject.DropdownForEnum(someType,someName,label,attributes);