1

例如,如果我声明了一个接口类,其实际类类型将仅在运行时确定,并且当我右键单击方法调用并单击“转到实现”时使用 VisualStudio,我可以从继承该接口的类中找到 3 个实现。

如何使用 Roslyn 获取方法的实现语法节点/符号?

4

2 回答 2

1

只需查看实现 Go To Implementation 的代码即可。该类型有几个公共 APISymbolFinder可以为您提供覆盖/实现/派生类型,并且每个 API 都会返回符号。该功能中的大部分代码只是确定哪个是正确的调用方法,并带有一些特定于该功能的额外过滤。例如,如果您有一个具有抽象成员的派生类型,则核心函数将返回该方法,但为了该功能,它不是以有意义的方式实现。

于 2016-06-08T17:21:12.543 回答
1

你正在寻找SymbolFinder.FindImplementationsAsync.

于 2016-06-08T17:21:13.307 回答