标签: c#
我想知道是否有办法可以编写一个返回C#文件中使用的所有变量名的方法。它甚至可能吗?有人做过这样的事吗?我想要一个变量名列表。
答案 0 :(得分:5)
是的。
您必须使用Roslyn将C#代码文件解析为语法树,然后在语义分析后检索所需的变量。
C#
以下是有关如何做到这一点的更多示例:
Getting Started: Semantic Analysis - C#
答案 1 :(得分:1)
如果您尝试从已编译的DLL或EXE执行此操作,那么不,这是不可能的。
虽然您可以使用reflection来检索类型的成员名称,以及类型的字段或属性,但是本地变量名称不会编译到IL中。没有办法检索它们,因为它们不再存在。
从.CS文件执行此操作可以通过Rosyln完成,如explained by Tigran。