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