1

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

4

2 回答 2

5

是的。

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

在这里可以找到更多关于如何做到这一点的例子:

入门:语义分析 - C#

于 2012-08-29T16:01:09.583 回答
1

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

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

正如Tigran所解释的,可以通过 Rosyln 从 .CS 文件执行此操作。

于 2012-08-29T16:00:56.633 回答