如何获取.NET Roslyn API中其他继承类的继承类的值?

问题描述

早上好, 我一直在尝试获取Roslyn API中其他继承类的继承类名称的值。

如下面的图片所示,

enter image description here

当我扫描“面孔”类时,我想获得“人类”的名字。 像这样的结构,我可以使用ClassDeclaration.BaseList获得第一个继承类名称。我可以从Face类获得“ Head”的名字!

enter image description here

但是我无法访问第二个继承类(人类类)。我认为Face类中不再有树形结构。

问题在于,如果将类分开,那么如何获取2层上层(或更多层)继承类名称

谢谢。

解决方法

为您的树获取SemanticModel,然后使用ClassDeclarationSyntax调用GetDeclaredSymbol()。这将为您提供ITypeSymbol,您可以从那里查看BaseType。您不想仅由于部分类而尝试使用语法。