Как использовать функцию перехода к методу контроллера в Resharper

Resharper 6 имеет очень приятную новую функцию: если я напишу RedirectToAction или Html.Action где-нибудь в проекте MVC3, он будет подчеркнут, и, щелкнув ctrl, я смогу перемещаться туда. Он также уведомляет меня, если такое действие не существует.
Однако у меня есть вспомогательный метод в моем BaseController, который принимает дополнительный параметр (для помещения в TempData), а затем вызывает RedirectToAction. К сожалению, Resharper не распознает эти строки как имена контроллеров и методов и не подчеркивает.

Я использую то же соглашение об именах параметров, что и MVC, мой возвращаемый тип такой же, но все же нет. Возможно ли, что методы MVC жестко запрограммированы в Resharper? Есть ли способ заставить его работать и с моим методом?

Изображение включено для ясности


person TDaver    schedule 19.11.2011    source источник


Ответы (1)


Да, вы можете сделать это, используя атрибуты аннотации кода ReSharper.

Сначала перейдите в ReSharper-> Параметры-> Аннотации кода, скопируйте реализацию атрибутов в буфер обмена и добавьте их в свой проект.

Затем отметьте параметры ваших методов необходимыми атрибутами. Например, параметр, содержащий строку действия, пометьте AspMvcActionAttribute; контроллер - с AspMvcControllerAttribute и т. д.

person derigel    schedule 19.11.2011
comment
пока отлично. Если у меня есть перегрузка, которая принимает только строку ошибок и перенаправляет на CurrentController / Index, что мне нужно добавить к методу, чтобы это тоже подчеркнуть? - person TDaver; 20.11.2011
comment
Отметьте обоими атрибутами (AspMvcController и AspMvcAction) сам метод. - person derigel; 20.11.2011
comment
как? Я поместил [AspMvcAction (Index), AspMvcController] над методом, теперь Resharper сообщает, что не может перейти к действию IssueController, где IssueController - это контроллер, в котором я пытаюсь его использовать. Он должен перейти в Issue / Index - person TDaver; 20.11.2011
comment
TDaver, похоже, не работает должным образом с атрибутами контроллера / действий на уровне метода - только с атрибутами представлений. - person derigel; 20.11.2011
comment
Вместо того, чтобы копировать код аннотаций кода в свой проект, вы также можете установить пакет через Nuget: install-package JetBrains.Annotations - person Ciaran Gallagher; 30.01.2018