Finden aller Klassendeklarationen, die von einer anderen mit Roslyn geerbt werden
Ich habe einCSharpCompilation
Instanz mit einem Array vonSyntaxTree
s und ich versuche alle Klassendeklarationen zu finden, die von einer Klasse erben
z.
// Not in syntax tree but referenced in project
public class Base{}
// In syntax tree, how to find all such classes?
public class MyClass : Base {}
Ich habe ein paar Dinge ausprobiert, bin aber ein bisschen verwirrt mit all den Optionen und kann anscheinend nicht den richtigen Weg finden, dies zu tun.
Ich habe versucht, die Symbole zu erhalten, aber das funktioniert nicht für geerbte Typen
SyntaxTree[] trees = context.CSharpCompilation.SyntaxTrees;
IEnumerable<ISymbol> symbols = context.CSharpCompilation.GetSymbolsWithName(x => x == typeof(Base).Name, SymbolFilter.Type);
Ganz neu in Roslyn und wäre sehr dankbar für Vorschläge oder Hinweise, wie dies erreicht werden kann.