【发布时间】:2015-02-21 12:23:10
【问题描述】:
在构建 synxtaxtree 时,roslyn 中是否有任何现有的方法或机制来清理 memberdeclarationsynxtax 节点的标识符名称?
例如带有空格、点、破折号或使用保留字(如 class、void、string)的名称
[编辑] 为了澄清,将生成代码,因此您事先不知道或无法控制输入,目标是清理输入。我指的是与 Path.GetInvalidFileNameChars() 等效的语法树,您可以使用它来清理输入以创建目录和文件。我在问roslyn是否有任何这样的机制。
【问题讨论】:
-
我不认为有这样的事情,告诉你应该如何命名你的成员不是编译器的工作。
-
公平点,但是如果我尝试将类命名为“类”,编译器将根据语法树填充诊断错误,因此必须在幕后进行某种形式的验证
-
可以调用类
class:class @class {} -
是的,但问题是如何识别这些保留字以便在它们前面加上@
-
@Mac 简单的解决方案是在 everything 前面加上
@。class @SomeValidName与class SomeValidName完全相同。