10

コードをブラウジングしていると、次のようなものに出くわすことがよくあります。

public class Fruity
{
    private IOrange _Orange;

    public Fruity()
    {
        _Orange = new Orange() as IOrange;
    }

    public void PrepareFruit()
    {
        return _Orange.Peel();
    }
}

それでは、Peel メソッドがどのように実装されているかを確認したいと思います。メソッドを右クリックすると、インターフェイス スタブに移動する [定義に移動] が表示されます。

OK、厳密に言えば、プライベート変数がこのように定義されていることを考えると、定義はインターフェースによって帰されますが、実装に行く方法はありますか?

もちろん、呼び出し、インターフェイス、および具象の分散銃アプローチであるすべての参照の検索があります。しかし、この場合、実装のソースは明らかなので、それにジャンプできるはずです...

明らかに、ここでうまく説明されているあいまいさがある場合があります。

具象型の定義に移動

しかし、確かに、実装が非常に明確な場合は、Go To Implementation オプションが必要です。

4

5 に答える 5

2

Visual Studio メニューの [表示] に移動して [コード定義ウィンドウ] を選択すると、クリックする.Peel()と の実装が表示される場合があります.Peel()(これは常に機能するとは限りませんが、試してみてください)。

于 2013-04-05T09:57:49.917 に答える
1

もちろん、Visual Studio には既に存在します。それは昔からあります。

コード (例: プロパティ) を右クリックし、[呼び出し階層の表示] を選択します。[呼び出し階層] ウィンドウで、[Implements] フォルダーを選択します。

そこにいます。なぜResharperなのか??? もちろん、インターフェイスでの直接の問い合わせを可能にする resharper からの実装に行くほど複雑ではありませんが、そのインターフェイスからのプロパティまたはメソッドだけで十分です。元:

public interface IModule
{
int Count { get; set; }
}

public class Module : Imodule
{ 
  public int Count {get; set;}
}

public class Module2 : Imodule
{ 
   public int Count {get; set;}  
}

Count プロパティ (クラス内またはインターフェイス内の任意の場所) を右クリックし、[呼び出し階層の表示] を選択します。どのクラスがそれを実装しているか、したがってインターフェイス全体が表示されます。

最初はResharperが大好きでしたが、時間が経つにつれて、私たちは皆Resharperが嫌いになりました!

于 2013-09-20T21:46:50.090 に答える
0

Visual Studio 2015 は、「Go To Implementation」拡張機能を使用してこれを行うことができます - https://visualstudiogallery.msdn.microsoft.com/0ed93222-83cd-4db3-92bc-a78909047156

複数の実装がある場合は、リストが表示されるので、ジャンプ先を選択できます。

于 2015-11-04T17:14:16.573 に答える