我正在尝试使用roslyn来获取方法的return语句,因为我正在使用它:
var returns = methods.DescendantNodes().OfType<ReturnStatementSyntax>();
这很有效,它给了我所有的回复陈述。但是现在,我希望得到所有返回,忽略lambda表达式中的那些。
我该怎么做?
是否有任何属性表明?
答案 0 :(得分:4)
我不确定,但你可以尝试类似的东西:
method.DescendantNodes().OfType<ReturnStatementSyntax>().Where(
rs => !(rs.AncestorsAndSelf().OfType<LambdaExpressionSyntax>().Any())
);
我希望这能解决你的问题。