在VisualStudio中,当您右键单击一个方法调用时,您会转到类中该方法的实现,除非您通过接口访问该方法:在这种情况下,您会转到接口方法,而不是实际的实现.

是否有方法/提示(快捷键或其他方式)访问此实际实现?否则,您只能添加一些注释来记住您在哪里实现了它,这真的很不高效,而且容易出错!

更新:有趣的答案,但我不是很满意,因为所有这些都很麻烦.我将给出一个确切的例子:

IInterface iInterface = someObject;                        
iInterface.someMethod();

实际上,如果VisualStudio稍微聪明一点,只看方法调用上方的一行,它就会看到真正的对象在哪里.这将节省我大量的按键操作,避免使用"查找所有引用",然后用我疲惫的眼睛扫描这些行,看看哪一行包含正确的一行:)

推荐答案

我做了以下工作:

1) 在方法上单击鼠标右键,然后单击"查看调用层次 struct "(或快捷方式Ctrl+K、Ctrl+T)

2)展开"Implementes x"文件夹,然后显示该方法的所有实现.单击其中一个即可转到那里.

相对简单快捷.令人恼火的是,界面本身似乎没有一个类似功能.


update: as of Visual Studio 2015 update 1, right click on a method and select go to implementation. You can also map it to keyboard shortcut via Tools > Options > Environment > Keyboard and search for Edit.GoToImplementation command. The default shortcut is Ctrl+F12. (F12 will navigate to the interface).


.net相关问答推荐

PowerShell中窗体定时器和系统定时器的统一处理

Npgsql Minimum Pool Size 似乎没有被考虑在内

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

编译时禁用 Dll 文化文件夹

为什么 .Contains 慢?通过主键获取多个实体的最有效方法?

.NET 应用程序的链接器状态(又名请先生,我可以有一个链接器2009 年版)

Int32.ToString() 是特定于文化的吗?

托管和非托管代码、内存和大小有什么区别?

带有输入字段的消息框

String 是原始类型吗?

您可以在 C# 代码中捕获本机异常吗?

如何使用配置转换删除 ConnectionString

如何将整个字符串与正则表达式匹配?

DLL 中有什么以及它是如何工作的?

铸造:(NewType)与对象作为NewType

如何将 MailMessage 对象作为 *.eml 或 *.msg 文件保存到磁盘

通过继承扩展枚举

.NET 中的 java.lang.IllegalStateException?

在 C#/.NET 中合并两个图像

在foreach循环中修改列表的最佳方法是什么?