1
如何获取CatchDeclaration中实例的符号信息?基本上我想得到这个符号,以便稍后可以比较它,看看是否在该符号上调用了一个方法。从CatchDeclaration中获取符号
基本上我有这个:catch (Exception ex) {}
,我想SymbolInfo为“ex”。
我得到与闭锁声明:
var catchDeclaration = catchClause.DescendantNodes().OfType<CatchDeclarationSyntax>().FirstOrDefault();
但我似乎只能够从不能用于从语义模型得到一个象征,因为只有声明(catchDeclaration.Identifier
)获得SyntaxToken需要一个SyntaxNode。
您正在使用语法模型,它只会为您提供没有语义的语法信息。您需要使用语义模型来获取该信息:https://joshvarty.wordpress.com/2014/10/30/learn-roslyn-now-part-7-introducing-the-semantic-model/ –
@David But我的问题是如何获取语义模型中的符号,如果我有catchDeclaration。或者在那个时候已经太晚了,我必须提前使用语义模型? (但是我不明白我是如何通过语义模型来获得catch语句或类似的呢?)。基本上'model.GetSymbolInfo(catchDeclaration.Identifier)'不起作用,因为标识符是一个令牌而不是一个节点。 – Voo