【问题标题】:"Go to declaration" feature on custom MVC helper extension Controllers and Actions自定义 MVC 帮助程序扩展控制器和操作上的“转到声明”功能
【发布时间】:2013-07-26 18:06:23
【问题描述】:

在 Visual Studio 中,默认的 MVC 帮助器允许我跳转到选定的控制器或动作:

但是当我创建一个自定义助手扩展时,我不能再这样做了:

有没有办法在 Visual Studio/Resharper/或扩展方法本身中添加此功能?

更新: 扩展方法的代码

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

【问题讨论】:

  • 你在扩展方法MenuLink中有什么代码?您能否提供用于在此扩展方法中重定向的代码?
  • @johni,我看不出它有什么关系,但我更新了问题。
  • 对不起,我想我误解了这个问题。

标签: c# asp.net-mvc visual-studio resharper extension-methods


【解决方案1】:

Resharper 允许注释来引导它的魔力。它们通常通过应用属性来实现,尽管它使用 BCL 类的外部注释文件。您可以在自己的代码中使用它们。我认为它们没有得到充分利用。

有一个 example 正是您的用例。只需将[AspMvcAction][AspMvcController] 应用于相应的参数即可。

【讨论】:

  • 否,但它只会在您的扩展方法参数上产生属性。如果有一些代码枚举这些参数的属性(非常不可能),您将需要一个定义它们的程序集。我相信 Resharper 在匹配注释属性时很灵活。它是按名称而不是完全身份进行的。因此,如果您不想使用他们的程序集,您可以在自己的程序集中定义属性。
猜你喜欢
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多