使ReSharper突出显示自定义HtmlHelper参数

Mag*_*erg 4 asp.net-mvc resharper

在新的ReSharper 5.0中,有一些MVC特定的功能,当您将它们键入字符串时,可以在视图中突出显示视图和控制器.

因此,使用ReSharper,下面的名为"ViewName"的字符串将突出显示并可单击以进行导航.

 Html.RenderPartial("ViewName", model); 
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以为自定义扩展方法编写自定义模式.在我的情况下,我有一个名为的扩展方法:

Html.RenderPartialIf(myCondition, "ViewName", model); 
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,ReSharper不会找到我的观点.它可以做到吗?

谢谢.

der*_*gel 9

是的,您可以使用ReSharper的名为External Annotations的功能来实现.
将此类添加到项目中:

using System;

namespace JetBrains.Annotations
{
  public class AspMvcViewAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)

并使用此属性标记方法的必要参数

public static ActionResult RenderPartialIf(this HtmlHelper helper, bool contition, [AspMvcView] string viewName, object model)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

一切都准备好了.

您可以在C:\Program Files (x86)\JetBrains\ReSharper\v5.0\Bin\ExternalAnnotations\System.Web.Mvc\System.Web.Mvc.Attributes.xml文件中查看其他ASP.NET MVC属性.