一尘不染

您如何找到接口的所有实现?

c#

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

蛮力方法是在Visual Studio中使用“查找引用”,并手动浏览结果以从实现中分离出用法,但是对于大型代码库中的接口,该接口被相对较少的实现大量
引用 ,因此可以耗时且容易出错。

在Java中,在代码库上运行javadoc(使用-
private选项包括私有类)将为该接口(例如Comparable)生成一个文档页面,其中包括该接口以及所有子接口的所有实现类(尽管它没有包括实现子接口的类,则可以通过深入列出的子接口来相对容易地确定这些类)。我需要的只是C#和Visual
Studio的功能。


阅读 349

收藏
2020-05-19

共1个答案

一尘不染

(根据评论进行编辑…)

如果您安装了ReSharper:

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

如果您没有ReSharper:

  • 您可以使用Reflector,它可以很容易地向您显示所有类型层次结构-在类型名称的下面是基本类型和派生类型的可扩展项。可以使用类似的工具,例如ILSpydotPeek
  • 购买ReSharper-这是一个很棒的工具:)
2020-05-19