【问题标题】:Get method's implementation with Roslyn使用 Roslyn 获取方法的实现
【发布时间】:2016-10-08 23:56:51
【问题描述】:

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

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

【问题讨论】:

    标签: c# roslyn roslyn-code-analysis


    【解决方案1】:

    【讨论】:

    • 谢谢你的整洁。如果实施是在同一解决方案中的另一个项目/不在同一解决方案中的另一个项目上,那是否有效?
    • @bee3:应该。该方法只是关于符号;符号不在乎它们是在哪里/如何定义的。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多