Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义MVC助手扩展控制器和操作上的“转到声明”功能_C#_Asp.net Mvc_Visual Studio_Resharper_Extension Methods - Fatal编程技术网

C# 自定义MVC助手扩展控制器和操作上的“转到声明”功能

C# 自定义MVC助手扩展控制器和操作上的“转到声明”功能,c#,asp.net-mvc,visual-studio,resharper,extension-methods,C#,Asp.net Mvc,Visual Studio,Resharper,Extension Methods,在Visual Studio中,默认MVC帮助程序允许我跳转到选定的控制器或操作: 但是,当我创建自定义助手扩展时,我无法再这样做: 有没有办法在VisualStudio/Resharper/或扩展方法本身中添加此功能 UPD: 扩展方法的代码 public static class HtmlHelpers { public static MvcHtmlString MenuLink(this HtmlHelper htmlHelper, string linkText, string

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

但是,当我创建自定义助手扩展时,我无法再这样做:

有没有办法在VisualStudio/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);
    }
}

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


您的用例有一个精确的描述。简单地说,将[AspMvcAction]和[AspMvcController]应用于适当的参数。

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


您的用例有一个精确的描述。简单地说,将[AspMvcAction]和[AspMvcController]应用于适当的参数。

在扩展方法MenuLink中有什么代码?你能提供你在这个扩展方法中用来重定向的代码吗?@johni,我不知道这有什么关系,但我更新了这个问题。对不起,我相信我误解了这个问题。你在扩展方法MenuLink中有什么代码?你能提供你在这个扩展方法中用来重定向的代码吗?@johni,我不知道这有什么关系,但我更新了这个问题。很抱歉,我相信我误解了这个问题。没有,但它只会导致扩展方法参数上的属性。如果有一些代码枚举这些参数上的属性,那么您将需要一个定义它们的程序集。我相信Resharper在匹配注释属性时是灵活的。它是根据名字而不是完全的身份来做的。因此,如果您不想使用它们的程序集,您可以在自己的程序集中定义属性。不,但这只会导致扩展方法参数中的属性。如果有一些代码枚举这些参数上的属性,那么您将需要一个定义它们的程序集。我相信Resharper在匹配注释属性时是灵活的。它是根据名字而不是完全的身份来做的。因此,如果不想使用它们的程序集,可以在自己的程序集中定义属性。