【问题标题】:Can I see the "final" C# code when viewing an interface's methods?查看接口的方法时,我可以看到“最终”的 C# 代码吗?
【发布时间】:2010-12-14 00:10:38
【问题描述】:

我想说的是,如果一个对象被定义为接口,然后从类工厂实例化,是否可以在 VS 2008 中右键单击该对象的方法调用并查看真实代码,而不是接口的空签名?

换句话说,我们的代码中有很多这样的内容:

ISomeInterface myObject = ObjectCreationFactory.CreateConcreteClassX();

myObject.DoSomething();

如果我右键单击 DoSomething() 并转到它的定义,我最终会在 ISomeInterface 中看到(空白)方法定义,而不是 ObjectCreationFactory 返回的类的定义。

当然,我可以在 CreateConcreteClassX() 中查看源代码并查看正在实例化的类,然后从那里开始,但如果 VS2008 中有办法告诉它“不要查看接口,看具体实现。”可能是我在做梦,但我想我还是会问。感谢您的帮助。

【问题讨论】:

    标签: c# visual-studio-2008 interface go-to-definition


    【解决方案1】:

    CreateConcreteClass() 可以返回实现 ISomeInterface 的 any 对象,因此在编译时无法判断接口成员将指向哪个方法。您可以随时跟踪通话并查看结束的位置。

    【讨论】:

      【解决方案2】:

      试试插件 Resharper。右键单击可以直接进入实现。

      【讨论】:

      • 我认为这有点矫枉过正,如果它只是关于那个功能。 ReSharper 做得更多(你会喜欢的!)。需要指出的是,还有一个名为 CodeRush 的竞争产品也可以做到这一点。
      猜你喜欢
      • 2010-09-20
      • 2021-10-13
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多