【发布时间】:2014-12-21 18:40:28
【问题描述】:
在 C# 6 中,您可以使用 nameof() 运算符来获取包含变量或类型名称的字符串。
这是在编译时评估,还是在运行时通过某些 Roslyn API 评估?
【问题讨论】:
-
Roslyn 是新的编译器平台。它只在编译时使用。
-
@PauloMorgado 这不是真的,您可以在运行时使用 Rosyln 来做事。比如构建一个实时代码编辑器或使用 Rosyln 的解析东西来处理树或表达式之类的事情
-
@ChrisMarisic 这是我的印象,但我没有回应,因为我对该主题的了解有限(因此我的问题)。我确实遇到过这个:scriptcs.net,这是 Roslyn 强大功能的一个很好的例子,我相信它确实是运行时的东西,但我可能是错的,因为我不太了解它。
-
@ChrisMarisic,所以,您的意思是您可以使用 Roslyn 从源代码构建实时代码,而不是从正在运行的一个二进制文件构建。而且您仍在使用 Roslyn 将源代码转换为不会使用 Roslyn 更改这些二进制文件的二进制文件。如果您不能在运行时绝对使用 Roslyn,那么您将永远无法编译任何代码。