自动插入空基本方法体

时间:2012-04-13 10:34:27

标签: c# visual-studio-2010

如果我有一个带有一些抽象方法的基类,有没有办法让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();
    }
}

3 个答案:

答案 0 :(得分:10)

是和否,在某种程度上。

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

enter image description here

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

答案 1 :(得分:1)

不,有一种方法可以生成一个已实现的方法,但是使用不同的主体,包含

throw new NotImplementedException();

通过界面右键单击VisualStudio - > ImplementInterface

答案 2 :(得分:1)

您可以让Visual Studio自动实现界面。但是,无法一次性为虚拟方法添加方法存根。您必须开始编写覆盖以使IntelliSense为您提供一系列可覆盖的方法。

我认为没有这种功能的主要原因是因为您不需要覆盖这些方法。而在实现接口时,您必须实现所有方法以满足接口创建的要求。