C# Roslyn-查找抽象方法的实现

C# Roslyn-查找抽象方法的实现,c#,roslyn,roslyn-code-analysis,C#,Roslyn,Roslyn Code Analysis,我有几个类继承自同一基类。在基类中有一个在派生类中实现的抽象方法 如何在派生类中找到抽象方法的所有实现?我不能使用SymbolFinder.FindImplementationsAsync,因为我没有解决方案对象(仅编译中的模型)。如果不是严格需要,我宁愿不创建解决方案对象。您已经有扩展基类的类了吗?不,这是困难所在。当我有一个派生类时,很容易知道基类。但反之亦然。您可以通过semanticModel.Compilation.GlobalNamespace获取给定项目(编译)中的所有命名类型。您

我有几个类继承自同一基类。在基类中有一个在派生类中实现的抽象方法


如何在派生类中找到抽象方法的所有实现?我不能使用SymbolFinder.FindImplementationsAsync,因为我没有解决方案对象(仅编译中的模型)。如果不是严格需要,我宁愿不创建解决方案对象。

您已经有扩展基类的类了吗?不,这是困难所在。当我有一个派生类时,很容易知道基类。但反之亦然。您可以通过
semanticModel.Compilation.GlobalNamespace
获取给定项目(编译)中的所有命名类型。您可能需要查看此处以执行此操作:。对于每个命名类型,可以找到基类,然后检查方法。如果您在VisualStudio中,并且分析器只需要在VSIX中工作,那么您可以获得
VisualStudioWorkspace
,并从那里获得对解决方案的引用。