在 Roslyn 中,名称和标识符有什么区别?
In Roslyn, what is the difference between Names and Identifiers?
在 Roslyn 中,SyntaxFactory
上有几个用于创建名称和标识符的工厂方法。例如:
SF.Identifier
SF.ParseName
SF.IdentifierName
我应该什么时候使用哪个?有什么区别?
SF.Identifier
创建了一个 SyntaxToken
,所以当你需要一个标记(通常用于声明某物)时应该使用它。
另外两个都是return一个NameSyntax
,表示对某物的引用。不同之处在于 IdentifierName
是只有一个标识符的简化形式,而 ParseName 还可以处理限定名称和通用名称(也可以使用 SyntaxFactory
的助手直接创建,如果你知道你想要它们。
在 Roslyn 中,SyntaxFactory
上有几个用于创建名称和标识符的工厂方法。例如:
SF.Identifier
SF.ParseName
SF.IdentifierName
我应该什么时候使用哪个?有什么区别?
SF.Identifier
创建了一个 SyntaxToken
,所以当你需要一个标记(通常用于声明某物)时应该使用它。
另外两个都是return一个NameSyntax
,表示对某物的引用。不同之处在于 IdentifierName
是只有一个标识符的简化形式,而 ParseName 还可以处理限定名称和通用名称(也可以使用 SyntaxFactory
的助手直接创建,如果你知道你想要它们。