如何使用C#查找类或方法的用法?

在Visual Studio中,我可以右键单击一个类或方法,然后选择“查找用法”。 这给了我一个在我的解决方案中使用该代码的位置列表。 我怎么能从我的代码中做同样的事情?

您需要解析代码才能执行此操作。 我认为你不能用reflection做到这一点。 MS一直致力于一个名为Roslyn的项目。 这是.NET编译器的一种API。 它应该为您提供所需的一切。 查看这篇文章,了解Roslyn项目的详细信息。

从post引用:

这为VS扩展器开辟了创建强大的重构和语言分析工具的新机会,并允许任何人将我们的解析器,语义引擎,代码生成器和脚本合并到他们自己的应用程序中。

这篇文章演示了使用符号。
这篇文章回答了获取所有参考文献的问题。

说实话,我从来没有这样做过,因为我从来不需要那种东西。

要访问各种信息,您需要访问编译器的Token Tree ,这是为semantic analysis构建的。

这种信息, 肯定你可以从Roslyn (API for C#编译器)访问。 您可以在其中将C#文本推入API函数,在其上运行编译器并恢复Tokens tree

罗斯林项目概述

希望这可以帮助。

据我所知,没有办法找到解决方案中所有项目的所有用法。 如果您的类具有唯一的名称,则Visual Studio的搜索function具有“整个解决方案”搜索范围,该搜索范围在您的解决方案中的每个文件中查找确切的搜索文本。

这并不是每次使用你的方法时都会发现的,因为它也匹配注释,类似命名的字段,任何具有相同字符串的东西,但它是一个好的开始。