从CatchDeclaration中获取Symbol

本文关键字:Symbol 获取 CatchDeclaration | 更新日期: 2023-09-27 18:18:43

如何在CatchDeclaration中获得实例的符号信息?基本上,我想要得到那个符号,这样我就可以稍后比较它,看看那个符号上是否调用了一个方法。

基本上我有这个:catch (Exception ex) {},我想要符号信息为"ex"。

我得到catch声明:

var catchDeclaration = catchClause.DescendantNodes().OfType<CatchDeclarationSyntax>().FirstOrDefault();

但我似乎只能从声明(catchDeclaration.Identifier)中获得SyntaxToken,不能用于从语义模型中获得符号,因为它只需要SyntaxNode。

从CatchDeclaration中获取Symbol

呼叫semanticModel.GetDeclaredSymbol(theCatchDeclarationItself)。要调用的方法在这里是一个扩展方法,确保你使用了Microsoft。

通常,在绑定指向其他地方的变量时使用GetSymbolInfoGetDeclaredSymbol用于"获取此处定义的符号"