2012-08-05 104 views

回答

10

你需要解析你的代码才能做到这一点。我认为你不能用反思去做。 MS一直在致力于一个名为Roslyn的项目。这是.NET编译器的一种API。它应该为你提供你所需要的。查看this的帖子了解Roslyn项目的细节。从岗位

报价:为VS扩展写强大 重构和语言分析工具,以及允许任何人以 将我们的解析器,语义引擎,代码生成器和

这开辟了新的机遇 脚本在他们自己的应用程序。

This post演示使用符号。
This post回答了获取所有参考的问题。

4

说实话,我从来没有这样做过,因为我从来不需要这样的事情。

要获得某种信息,您需要访问编译器的Token Tree,构建为semantic analysis

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

The Roslyn Project Overview

希望这有助于。

0

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

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