转到实现
此命令帮助您查找类型和成员的实际实现——换句话说,定位它们执行的源代码。 例如,从基类型或成员,您可以跳转到其最终实现,绕过继承链中的中间步骤;从接口成员的用法,您可以找到该成员被实现的所有位置。
此命令可用于:
类型和成员的用法:它将列出它们被实现的所有位置;
类型声明:它将列出实现其成员的所有派生类型(如果有);
没有实现体的抽象或接口成员的声明:它将列出所有具有实现的继承者。
它在具有实现体的成员声明(包括虚成员和默认接口方法)上 不可用。 使用 转到派生符号检查此类成员的继承者。
您可以从 解决方案资源管理器、 文件结构窗口 和其他工具窗口调用此命令。 如果需要,您可以使用 转到基符号 命令反向导航。
以下是 转到实现 如何绕过中间步骤的示例。 假设 IDocument 接口具有以下继承者:

当您在 IDocument 的声明或用法上调用 转到实现 时,ReSharper 仅显示两个继承者:

这是因为其他类是抽象的,并且不包含 IDocument 的实现。
导航到类型或类型成员的实现
将插入符号放在 编辑器 中的符号上,或在工具窗口中选择符号。
在主菜单中选择 ,按下 Control+Shift+Alt+B ,或在按住 Ctrl+Alt 键的同时单击符号。
请注意,在 Visual Studio 2017 及更高版本中, Ctrl+Alt -单击用于 添加多个插入符号。 因此,您可能需要通过清除 使用 Ctrl+Alt 单击以转到实现 复选框来禁用此绑定,该复选框位于 ReSharper 选项 的 页面上 Alt+R, O 。
如果符号只有一个实现,ReSharper 将直接导航到它。
如果需要,您可以更改默认行为,以便即使是单个符号也会显示在列表中。 为此,请清除 ReSharper 选项 的 页面上的 如果只有一个,则转到基类/继承类... 复选框 Alt+R, O 。
如果符号有多个实现,它们将列在下拉列表中。 列表可能包含加粗和常规字体的项目。 加粗表示项目具有直接继承,而常规字体用于间接继承。
您可以执行以下操作之一:
单击所需的项目以在编辑器中打开它。
通过按 上 和 下 选择所需的项目,然后按 输入 在编辑器中打开它。
开始输入以筛选结果。 请注意,您可以在此处使用 CamelHumps。 如果需要,按 Esc 一次以清除筛选。
要在 查找结果 窗口中查看并 分析匹配项列表,请单击 在“查找结果”中显示
,按
Shift+Enter
或数字键盘上的
+
。
如果您导航到的项目属于当前解决方案,ReSharper 将在编辑器中打开相应的文件并将插入符号放在符号声明处。 如果它位于引用的库中,ReSharper 将根据 ReSharper 选项 的 页面上定义的设置进行导航 Alt+R, O 。
此功能在以下语言和技术中 受支持:
此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。