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