我一直在寻找一种解决方案,该解决方案允许使用Roslyn Analyzer库找到true ? DoIt() : DoItNot();
的三元运算符。
我提出了以下解决方案,但这仅返回"标准"如果else-expressions。
var ifStatement = tree.GetRoot().DescendantNodes().OfType<IfStatementSyntax>().First();
我确实搜索了另一个SyntaxKind
,但是我没有找到我想要的东西。因此,如果有人解决我的问题,我会很高兴。
您正在寻找SyntaxKind.ConditionalExpression
。
tree.GetRoot()
.DescendantNodes()
.Where(node => node.IsKind(SyntaxKind.ConditionalExpression))