Resharper перейти к конкретной реализации общего интерфейса?
В любом случае, чтобы заставить Resharper перейти к конкретной реализации универсального интерфейса для определенного типа.
например. ICommandHandler<T>
и найти конкретную реализацию? Я могу заставить Resharper показать все реализации ICommandHandler
, но не позволяет мне легко перейти к реализации типа T. У нас есть сотни обработчиков, и перемещение идет медленнее.
Мы используем Resharper 7.1
Update
Примеры включают такие вещи, как:
public class AddStockRequestLineItemCommandHandler : ICommandHandler<AddStockRequestLineItemCommand>
public class RemoveStockRequestLineItemCommandHandler : ICommandHandler<RemoveStockRequestLineItemCommand>
public class StockRequestFufillingUpdateCommandHandler : ICommandHandler<StockRequestFufilingUpdateCommand>
Использование, например, в конструкторе контроллера MVC, например:
public StockRequestController( ICommandHandler<RemoveStockRequestLineItemCommand> stockRequestLineItemRemoveHandler)
{
this.stockRequestLineItemRemoveHandler = stockRequestLineItemRemoveHandler;
}
Мне бы хотелось нажать ICommandHandler<RemoveStockRequestLineItemCommand>
и перейти к классу реализации RemoveStockRequestLineItemCommandHandler
Ответы
Ответ 1
Resharper 9.1.1 поддерживает поиск способов использования общего интерфейса. Щелкните правой кнопкой мыши на IComamndHandler, и он покажет вам обычаи. Тем не менее, казалось бы, до сих пор не удалось найти реализации.
Лучшее решение, с которым мы столкнулись, было
/// <summary>
/// <see cref="ChangePersonAddressCommandHandler"/>
/// </summary>
Используя cref link http://msdn.microsoft.com/en-us/library/cc837134.aspx и шаблон, добавив это выше команды или нашего контроллера.
Хотелось бы не делать этого и просто перемещаться прямо с помощью Resharper
Ответ 2
Если я нажимаю правой кнопкой мыши на базовый объект, я получаю контекстное меню, которое предлагает:
Go to Implementation (Ctrl+Shift+Alt+B)
который затем предложит мне различные производные объекты (в вашем случае классы)
Ответ 3
ReSharper 2016.1 RTM теперь поддерживает переход к конкретной реализации родового типа с помощью Ctrl + F12.