当前位置:  开发笔记 > 编程语言 > 正文

你如何找到界面的所有实现?

如何解决《你如何找到界面的所有实现?》经验,为你挑选了6个好方法。

假设您有一个在C#中定义的接口.查找提供接口实现的所有类的最简单方法是什么?

蛮力方法是在Visual Studio中使用"查找引用"并手动查看结果以将实现与实现分开,但是对于大型代码库中的接口而言,这些接口被相对较少的实现大量引用,这可以是耗时且容易出错.

在Java中,在代码库上运行javadoc(使用-private选项包含私有类)将生成接口的文档页面(例如Comparable),其中包括接口的所有实现类以及任何子接口(尽管它没有包括实现子接口的类,通过深入查看列出的子接口可以相对容易地确定这些类.这是我正在寻找的功能,但使用C#和Visual Studio.



1> 小智..:

您可以右键单击方法名称(接口中的定义或其他类中的实现),然后选择"查看调用层次结构".在"调用层次结构"窗口中,有"Implements"文件夹,您可以在其中找到接口方法实现的所有位置.


这应该是接受的答案,因为它(a)完成工作,(b)不依赖于[付费]第三方工具

2> Jon Skeet..:

(根据评论编辑......)

如果安装了ReSharper:

在Visual Studio中,右键单击类型名称,然后选择"转到继承者".或者,选择类型名称,然后转到ReSharper/View/Type Hierarchy以打开新选项卡.(菜单会显示键盘快捷键 - 这可能会有所不同,这就是为什么我解释了如何找到它:)

如果您没有ReSharper:

您可以使用Reflector,它能够非常轻松地向您显示所有类型层次结构 - 在类型名称下面是基本类型和派生类型的可扩展项目.可以使用类似的工具,例如ILSpy和dotPeek.

购买ReSharper - 这是一个很棒的工具:)



3> Bahtiyar Özd..:

将光标放在类或接口类型和

CTRL + F12



4> P.Brian.Mack..:

使用Visual Studio 2010+

右键单击成员方法,然后选择查看调用层次结构.展开Implements文件夹.这列出了实现该方法所属接口的所有类型.

在此输入图像描述

使用Resharper 7

右键单击界面>导航到>派生符号.以粗体列出的符号直接来自界面.非粗体符号来自超类.

在此输入图像描述



5> Nik A...:

对于那些使用Visual Studio 2015的人来说,有一个很棒的扩展名为Go To Implementation.试试看.

安装完扩展程序后,您只需右键单击该界面的任何位置(例如IUrlShortener)并单击Go To Implementation菜单.如果您只有一个实现该界面的类,单击该菜单将直接带您进入该类.如果您有多个实现该接口的类,它将列出所有类.


@wziska如您所愿,此功能现在在[Visual Studio 2015 Update 1 RC]中实现(http://blogs.msdn.com/b/visualstudio/archive/2015/10/29/visual-studio-update-1 -rc.aspx):)

6> Nate Cook..:

对于使用Visual Studio 2015的用户,请安装Visual Studio 2015 Update 1 RC.来自Visual Studio博客:

今天我们发布了Visual Studio 2015 Update 1 RC,它基于我们三周前发布的Update 1 CTP.除了此处所述的CTP中引入的功能外,Release Candidate还包括以下内容:

去实施.许多人一直在等待的功能:只需右键单击接口或抽象方法,然后选择此命令即可导航到实现.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有