2014-08-27 53 views
0

當我看着從MVC庫EditorFor方法的文檔我碰到這個方法定義出來:C#方法定義過於複雜

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

這感覺很難理解我,但我認爲HTML傭工能有幫助,所以我想了解,我也想弄清楚它的邏輯,以便我可以在其他方法定義中使用它。如果您能提供幫助,我將不勝感激。

編輯:什麼可以正確使用這個方法的定義?

+5

什麼/你不已經知道了?具體來說,你需要幫助理解嗎? – 2014-08-27 14:33:52

+0

你知道擴展方法嗎?這應該解釋「此HtmlHelper html方法的一部分。 – 2014-08-27 14:35:21

+0

方法*定義*如何可能太複雜?它是什麼,你不明白?或者你可以[瀏覽該方法的源代碼,如果有幫助。 ..](http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/Html/EditorExtensions.cs) – DGibbs 2014-08-27 14:36:33

回答

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