3

いくつかの抽象メソッドを持つ基本クラスがある場合、(EclipseやJavaのように)新しい派生クラスに実装する必要のあるメソッドの空の本体をVisual Studioに自動的に挿入させる方法はありますか?

そのようです:

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キーワードを入力するだけで、IntelliSense リストからオーバーライドする関連メソッドを選択できます。リストは、クラス内でオーバーライドをまだ持っていないメソッドにフィルターをかけます。

于 2012-04-13T10:54:25.727 に答える
1

Visual Studio にインターフェイスを自動的に実装させることができます。ただし、仮想メソッドのメソッド スタブを一度に追加することはできません。IntelliSense でオーバーライド可能なメソッドのリストを取得するには、オーバーライドの作成を開始する必要があります。

そのような機能がない主な理由は、メソッドをオーバーライドする必要がないためだと思います。一方、インターフェイスを実装するときは、インターフェイスによって作成された要件を満たすためにすべてのメソッドを実装する必要があります。

于 2012-04-13T10:39:53.617 に答える
1

いいえ、実装されたメソッドを生成する方法はありますが、本体は異なります。

throw new NotImplementedException();

VisualStudio でインターフェイスを右クリック -> ImplementInterface

于 2012-04-13T10:38:54.007 に答える