【发布时间】:2016-10-08 23:56:51
【问题描述】:
例如,如果我声明了一个接口类,其实际类类型将仅在运行时确定,并且当我右键单击方法调用并单击“转到实现”时使用 VisualStudio,我可以从继承的类中找到 3 个实现界面。
如何使用 Roslyn 获取方法的实现语法节点/符号?
【问题讨论】:
标签: c# roslyn roslyn-code-analysis
例如,如果我声明了一个接口类,其实际类类型将仅在运行时确定,并且当我右键单击方法调用并单击“转到实现”时使用 VisualStudio,我可以从继承的类中找到 3 个实现界面。
如何使用 Roslyn 获取方法的实现语法节点/符号?
【问题讨论】:
标签: c# roslyn roslyn-code-analysis
【讨论】:
看看code that implements Go To Implementation。 SymbolFinder 类型上有几个公共 API,它们为您提供覆盖/实现/派生类型,每个都为您提供符号。该功能中的大部分代码只是确定哪个是正确的调用方法,并带有一些特定于该功能的额外过滤。例如,如果您有一个具有抽象成员的派生类型,则核心函数将返回该方法,但为了该功能,它不是以有意义的方式实现。
【讨论】: