罗斯林检测三元运算符? :

时间:2017-02-28 07:27:28

标签: c# roslyn ternary-operator

我一直在寻找一种解决方案,让我们可以使用roslyn分析器库找到像true ? DoIt() : DoItNot();这样的三元运算符。

我提出了以下解决方案,但这只返回“标准”if-else-Expressions。

var ifStatement = tree.GetRoot().DescendantNodes().OfType<IfStatementSyntax>().First();

我确实搜索了另一个SyntaxKind,但我找不到我要找的东西。 如果有人能解决我的问题,我会很高兴。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

tree.GetRoot()
    .DescendantNodes()
    .Where(node => node.IsKind(SyntaxKind.ConditionalExpression))