Заставляя ReSharper выделять пользовательские параметры HtmlHelper - PullRequest
4 голосов
/ 19 ноября 2010

В новой версии ReSharper 5.0 есть некоторые специфические функции MVC для выделения видов и контроллеров в представлениях при вводе их в виде строк.

Таким образом, с помощью ReSharper строка, названная «ViewName», будет выделена и доступна для навигации.

 Html.RenderPartial("ViewName", model); 

Мой вопрос: возможно ли написать собственные шаблоны для пользовательских методов расширения? В моем случае у меня есть метод расширения под названием:

Html.RenderPartialIf(myCondition, "ViewName", model); 

Но когда я делаю это, ReSharper не может найти мой взгляд. Так можно ли это сделать?

Спасибо.

1 Ответ

9 голосов
/ 19 ноября 2010

Да, вы можете сделать это с помощью функции ReSharper под названием «Внешние аннотации».
Добавьте в ваш проект такой класс:

using System;

namespace JetBrains.Annotations
{
  public class AspMvcViewAttribute : Attribute { }
}

И пометьте необходимые параметры ваших методов этим атрибутом

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

и все готово.

Другие атрибуты ASP.NET MVC можно посмотреть в файле C:\Program Files (x86)\JetBrains\ReSharper\v5.0\Bin\ExternalAnnotations\System.Web.Mvc\System.Web.Mvc.Attributes.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...