Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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# 如何在HtmlHelper扩展方法上获得控制器和操作的语法高亮显示?_C#_Visual Studio_Asp.net Mvc 3_Resharper - Fatal编程技术网

C# 如何在HtmlHelper扩展方法上获得控制器和操作的语法高亮显示?

C# 如何在HtmlHelper扩展方法上获得控制器和操作的语法高亮显示?,c#,visual-studio,asp.net-mvc-3,resharper,C#,Visual Studio,Asp.net Mvc 3,Resharper,如何让VisualStudio提供控制器和动作语法高亮显示,就像它在下面为控制器和动作字符串提供自己的对象一样 使用时: Html.Action("Index", "Home"); VisualStudio在控制器和操作上提供了额外的高亮显示,它甚至尝试检测哪些控制器和操作可用,并将其作为选项显示 请注意,在下图中,它如何根据我输入的控制器为我提供操作选项。这就是我希望为我的自定义代码所做的。 我有一个非常有效的HtmlHelper扩展方法,类似于以下内容: public static Mv

如何让VisualStudio提供控制器和动作语法高亮显示,就像它在下面为控制器和动作字符串提供自己的对象一样

使用时:

Html.Action("Index", "Home");
VisualStudio在控制器和操作上提供了额外的高亮显示,它甚至尝试检测哪些控制器和操作可用,并将其作为选项显示

请注意,在下图中,它如何根据我输入的控制器为我提供操作选项。这就是我希望为我的自定义代码所做的。

我有一个非常有效的HtmlHelper扩展方法,类似于以下内容:

public static MvcHtmlString Action(this HtmlHelper htmlHelper, string actionName, string controllerName, string myAwesomeField) {
        return Action(htmlHelper, actionName, controllerName, null /* routeValues */, myAwesomeField);
    }

我的扩展方法被intellisense接受,因为它知道我需要一些字符串。查看时,action和controller的参数是字符串,但VisualStudio知道这些控制器和操作是否存在,并提供额外的intellisense支持。工具是如何利用它的?

您必须将扩展所在的名称空间包含在web.config of Views文件夹中,或者包含在特定视图本身中(通过
@使用
),以获得intellisense支持。

如果您使用的是Resharper(当然是这样)这是一个完美的解决方案,我在5分钟内就找到了:

请按照此处的说明进行操作。 我选择将注释源代码放在项目中名为jetbrains.annotations.cs的文件中作为选项2。然后,只需添加如下所示的参数属性装饰(在我的方法中使用link),一切都正常


Nice

我的扩展方法被intellisense接受,因为它知道我需要一些字符串。查看Microsoft的代码时,action和controller的参数是字符串,但Visual Studio知道这些控制器和actions是否存在,并提供额外的intellisense支持。nuget包现在可用,是IMHO的最佳选项。谢谢
public void WithLink([AspMvcAction] string action, [AspMvcController] string controller)