Resharper导航到通用接口的具体实现?

时间:2013-03-07 23:05:52

标签: visual-studio resharper

无论如何都要让Resharper导航到特定类型的通用接口的具体实现。

E.g。 ICommandHandler<T>并找到具体的实施方案?我可以让Resharper显示ICommandHandler的所有实现,但不允许我轻松地实现类型T的实现。我们有数百个处理程序,导航速度越来越慢。

我们正在使用Resharper 7.1

更新

示例包括:

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

3 个答案:

答案 0 :(得分:4)

Resharper 9.1.1支持查找通用接口的用法。右键单击IComamndHandler,它会显示使用情况。但是,看起来似乎仍无法找到实现方式。

我们提出的最佳解决方案是

/// <summary>
/// <see cref="ChangePersonAddressCommandHandler"/>
/// </summary>

使用cref link http://msdn.microsoft.com/en-us/library/cc837134.aspx和模板,并将其添加到命令上方或我们的控制器中。

很想不必这样做,只需用Resharper直接导航

答案 1 :(得分:2)

ReSharper 2016.1 RTM现在支持使用Ctrl + F12导航到泛型类型的具体实现。

答案 2 :(得分:1)

如果我右键单击基础对象,我会得到一个提供以下内容的上下文菜单:

Go to Implementation (Ctrl+Shift+Alt+B)

选择那将为我提供各种派生对象(在你的情况下是类)