C#方法定义太复杂了

时间:2014-08-27 14:32:08

标签: c# asp.net-mvc extension-methods method-declaration

当我从MVC库中查看EditorFor方法的文档时,我遇到了这个方法定义:

public static MvcHtmlString EditorFor<TModel, TValue> {
    this HtmlHelper<TModel> html,
    Expression<Func<TModel, TValue>> expression,
    Object additionalViewData
}

对我来说感觉很难理解,但我认为HTML助手可以提供帮助,所以我想了解并且我也想弄清楚它的逻辑,以便我可以在其他方法定义中使用它。如果你能提供帮助,我将不胜感激。

编辑:什么可以正确使用此方法定义?

1 个答案:

答案 0 :(得分:0)

这是一种扩展方法(这就是您看到thisstatic)的原因。它需要两个通用类型(<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