检索C#文件中使用的变量名称列表

时间:2012-08-29 15:59:21

标签: c#

我想知道是否有办法可以编写一个返回C#文件中使用的所有变量名的方法。它甚至可能吗?有人做过这样的事吗?我想要一个变量名列表。

2 个答案:

答案 0 :(得分:5)

是的。

您必须使用RoslynC#代码文件解析为语法树,然后在语义分析后检索所需的变量。

以下是有关如何做到这一点的更多示例:

Getting Started: Semantic Analysis - C#

答案 1 :(得分:1)

如果您尝试从已编译的DLL或EXE执行此操作,那么不,这是不可能的。

虽然您可以使用reflection来检索类型的成员名称,以及类型的字段或属性,但是本地变量名称不会编译到IL中。没有办法检索它们,因为它们不再存在。

从.CS文件执行此操作可以通过Rosyln完成,如explained by Tigran