Roslyn 如何比较令牌
Roslyn How to Compare Tokens
我编写了一个函数来检查是否已将变量分配给,但我不知道应该如何比较节点:
private static bool IsAssignment(SyntaxNode node)
{
if (node is ArgumentSyntax)
{
//This doesn't work even though both are ref tokens
return node.ChildTokens().Any(t => t == SyntaxFactory.Token(SyntaxKind.RefKeyword));
}
return node is AssignmentExpressionSyntax;
}
我正在考虑使用 ValueText 属性 但那似乎是错误的
当我将子标记与语法工厂创建的标记进行比较时,它们不匹配我如何比较标记?
令牌比较include the parent。
相反,您应该检查其 RawKind
是否为 SyntaxKind.RefKeyword
。
我编写了一个函数来检查是否已将变量分配给,但我不知道应该如何比较节点:
private static bool IsAssignment(SyntaxNode node)
{
if (node is ArgumentSyntax)
{
//This doesn't work even though both are ref tokens
return node.ChildTokens().Any(t => t == SyntaxFactory.Token(SyntaxKind.RefKeyword));
}
return node is AssignmentExpressionSyntax;
}
我正在考虑使用 ValueText 属性 但那似乎是错误的
当我将子标记与语法工厂创建的标记进行比较时,它们不匹配我如何比较标记?
令牌比较include the parent。
相反,您应该检查其 RawKind
是否为 SyntaxKind.RefKeyword
。