2013-07-26 54 views
2

在Visual Studio中默認的「Go to聲明」功能MVC傭工讓我跳轉到所選擇的控制器或者動作:定製MVC助手擴展控制器和動作

enter image description here

但是,當我創建一個自定義幫手擴展我不能這樣做了:

enter image description here

有沒有辦法添加在Visual Studio/ReSharper的/或擴展方法本身這個功能嗎?

UPD: 擴展方法的代碼

public static class HtmlHelpers 
{ 
    public static MvcHtmlString MenuLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName) 
    { 
     return htmlHelper.ActionLink(linkText, actionName, controllerName); 
    } 
} 
+1

你在擴展方法'MenuLink'中有什麼代碼?你能提供你用來在這個擴展方法中重定向的代碼嗎? – jonni

+0

@johni,我不明白它是如何相關的,但我更新了這個問題。 –

+0

對不起,我相信我誤解了這個問題。 – jonni

回答

4

ReSharper的允許註釋來指導它的魔力。它們通常通過應用屬性來實現,儘管它使用BCL類的外部註釋文件。你可以在你自己的代碼中使用它們。我認爲他們很少被利用。

您的使用案例中有一個example。只需將[AspMvcAction][AspMvcController]應用到適當的參數。

+0

太棒了,謝謝。我希望它在編譯時被忽略,是嗎? –

+0

不,但它只會導致擴展方法參數中的屬性。如果有一些枚舉這些參數屬性的代碼(非常不可能),那麼需要一個定義它們的程序集。我相信Resharper在匹配註釋屬性時很靈活。它是通過名稱來完成的,而不是完全的身份。所以,如果你不想使用他們的裝配,你可以在你自己的裝配中定義屬性。 –