C#方法定义太复杂

本文关键字:复杂 定义 方法 | 更新日期: 2023-09-27 18:19:33

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

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

这对我来说很难理解,但我认为HTML助手会很有帮助,所以我想理解它,我也想弄清楚它的逻辑,这样我就可以在其他方法定义中使用它。如果你能帮忙,我将不胜感激。

编辑:这个方法定义的正确用法是什么?

C#方法定义太复杂

这是一个扩展方法(这就是您看到thisstatic的原因)。它采用两种泛型类型(<TModel, TValue>),您必须在调用方法时指定这两种类型,以便在整个过程中使用/引用它们(包括其他参数,例如HtmlHelper<TModel>)。此方法将返回一个类型为MvcHtmlString的对象。

这就是你能从签名中收集到的全部内容。它实际上做了什么和/或如何做,只能从它的内容中得知。

阅读:

扩展方法:

http://msdn.microsoft.com/en-GB/library/bb383977.aspx

Generics:

http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx