3

如果我有一个带有一些抽象方法的基类,有没有办法让 Visual Studio 自动在新的派生类中插入需要为我实现的方法的空主体(就像你可以使用 Eclipse 和 Java 一样)?

像这样:

public abstract class foo
{
    public virtual void bar()
    {
       doSomething();
    }
}

public class Derived : foo
{
    //somehow tell VS to insert this without me having to write everything
    public override void bar()
    {
       base.bar();
    }
}
4

3 回答 3

10

是和否,在某种程度上。

1-如果基类是抽象的,那么当 VS 将显示一个智能标签,它为所有抽象方法提供存根实现,但不是虚拟方法。这与实现接口相同。

在此处输入图像描述

2- 对于虚拟方法,您不需要键入所有内容。在派生类中,您只需键入override关键字,然后从智能感知列表中选择要覆盖的相关方法。该列表将过滤到类中尚未覆盖的方法。

于 2012-04-13T10:54:25.727 回答
1

不,有一种方法可以生成已实现的方法,但具有不同的主体,其中包含

throw new NotImplementedException();

在界面上的 VisualStudio 中右键单击 -> ImplementInterface

于 2012-04-13T10:38:54.007 回答
1

您可以让 Visual Studio 自动实现接口。但是一次为虚拟方法添加方法存根是不可能的。您必须开始编写覆盖才能让 IntelliSense 为您提供可覆盖方法的列表。

我认为没有这样的功能的主要原因是你不需要重写方法。而在实现接口时,您必须实现所有方法来满足接口创建的要求。

于 2012-04-13T10:39:53.617 回答