Найти все объявления классов, чем наследовать от другого с Roslyn
у меня естьCSharpCompilation
экземпляр, содержащий массивSyntaxTree
s и я пытаюсь найти все объявления классов, которые наследуются от класса
например
// Not in syntax tree but referenced in project
public class Base{}
// In syntax tree, how to find all such classes?
public class MyClass : Base {}
Я попробовал несколько вещей, но немного запутался со всеми вариантами и, похоже, не могу найти правильный способ сделать это.
Я пытался получить символы, но это не работает для унаследованных типов
SyntaxTree[] trees = context.CSharpCompilation.SyntaxTrees;
IEnumerable<ISymbol> symbols = context.CSharpCompilation.GetSymbolsWithName(x => x == typeof(Base).Name, SymbolFilter.Type);
Совершенно новичок в Roslyn и был бы очень признателен за любые предложения или указатели о том, как этого добиться.