Как получить SyntaxToken.Kind в текущей версии Roslyn?

Я пытаюсь обновить проект, в котором интенсивно используется сравнение с SyntaxToken.Kind. Похоже, что это свойство исчезло в более новых версиях Roslyn, и мне было интересно, есть ли альтернативный метод или метод расширения, который я мог бы написать, чтобы получить ту же функциональность?

В коде много ссылок, таких как:

if (expression.OperatorToken.Kind == SyntaxKind.PlusEqualsToken)

Любые идеи?


person Christopher Cook    schedule 05.05.2014    source источник


Ответы (1)


Добавьте использование для Microsoft.CodeAnalysis.CSharp.Syntax, а затем используйте метод расширения CSharpKind().

person Kevin Pilch    schedule 05.05.2014
comment
Спасибо, Кевин, я надеялся найти расширение, с помощью которого мне не пришлось бы менять существующий код, но это круто. - person Christopher Cook; 05.05.2014
comment
Теперь мы делим SyntaxNode между C# и VB, поэтому Kind не имел бы смысла, если бы в перечислении не было всех типов для обоих языков, чего нам не хотелось. - person Kevin Pilch; 05.05.2014