在Roslyn(Microsoft.CodeAnalysis)中,SyntaxToken
有Text
和ValueText
个字段。在我迄今为止观察到的所有情况中,这两个值是相同的。 ValueText
有文档,Text
没有。据我所知,这是唯一的区别。
为什么两者都存在?在什么情况下他们会有所不同,为什么?
答案 0 :(得分:10)
为什么两者都存在?
因为它们有时会有所不同,而且两者都很有用。
在什么情况下他们会有所不同,为什么?
int @interface = 123;
Text
令牌的@interface
为@interface
。 ValueText
为interface
。该文本告诉您源代码中出现的文本是什么。值文本在逻辑上告诉你这个东西的文本是什么?用作标识符的转义关键字在逻辑上是关键字的文本;这是标识符的名称。
在其他情况下,文本和值文本可能不同;看看你能不能找到一些。