【问题标题】:Implementing abstract classes while adding the necessary using directives在添加必要的 using 指令的同时实现抽象类
【发布时间】:2014-05-08 22:30:22
【问题描述】:

假设我们有以下抽象基类,它声明了一个参数化方法,而参数位于另一个命名空间中:

using Example.SubNamespace;    
namespace Example
{
    public abstract class BaseClass
    {
        public abstract void Method(Parameter param);
    }
}

下面是一个简单的类作为我们的参数(注意不同的命名空间):

namespace Example.SubNamespace
{
    public class Parameter
    {
    }
}

在实现子类时,Visual Studio 在右键单击派生类时提供“实现抽象类”选项。我在下面的例子中做到了:

namespace Example
{
    public class SubClass : BaseClass
    {
        public override void Method(SubNamespace.Parameter param)
        {
            throw new System.NotImplementedException();
        }
    }
}

称我为小事,但有时在方法签名中拥有完全限定的命名空间对我来说似乎很烦人。

是否有可能在自动插入正确的 using 指令的同时实现抽象类?手动更改这些东西对我来说似乎是不必要的努力。

【问题讨论】:

  • 如果我没记错的话,Resharper 开箱即用(除此之外还有一个极好的 VS 插件)。
  • 确实,似乎是一个不错的扩展。可能值得一试。
  • 绝对可以,我认识的每个尝试过它的人现在都认为它是 IDE 的一个组成部分 :)

标签: c# visual-studio-2010 visual-studio


【解决方案1】:

没有办法做到这一点。考虑将SubClassBaseClass 放在同一个namespace 中。我认为这没什么大不了的。

您还可以使用智能感知来添加命名空间:

Visual Studio keyboard shortcut to automatically add the needed 'using' statement

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2015-01-03
    • 2011-11-03
    相关资源
    最近更新 更多