2010-11-20 8 views
6

メソッドから定義に移動し、インターフェイスではなく具体的​​な実装に直接ナビゲートすることができるビジュアルスタジオの拡張機能はありますか?私のコードの大部分は、面に基づいていますし、正しい場合は、定義に移ります。意味のあるインターフェイスにまっすぐに行きます。コンクリートの実装に行くのがうれしいです.Thankxコンクリートタイプの定義に移動

答えて

4

あなたがresharperを使用している場合には、実装に行くと異なる実装がある場合は、別のインプリメンテーションの中から選ぶことができます提供しています。

また、ビジュアルスタジオでfind all referencesを使用すると、メソッドアイコンが通話と異なり、F8でナビゲートすることもできます。

ビジュアルスタジオ2010以降では、このアクションに表示されるウィンドウで「ctrl」+「」を使用して名前を入力し、表示された候補の中から選択することができます。この場合は、 ....

2

これは不可能です。メソッドを右クリックしたときにどの実装が使用されているかわかりません。この例を考えると、その方法IDEがに移動する必要があります

public interface IGreeterService 
{ 
    string Greet(string person); 
} 

public class EnglishGreeterService : IGreeterService 
{ 
    string Greet(string person) 
    { 
    return "Hello, " + person + "."; 
    } 
} 

public class GermanGreeterService : IGreeterService 
{ 
    string Greet(string person) 
    { 
    return "Guten Tag, " + person + "."; 
    } 
} 

public class PersonGreeter 
{ 
    private readonly IGreeterService _Service; 

    public PersonGreeter(IGreeterService service) 
    { 
    _Service = service; 
    } 

    public void SayHallo() 
    { 
    _Service.Greet("user282807"); 
    } 
} 

クラスPersonGreeterで使用された実装を知ることは不可能です。これがインターフェイスのポイントなので、特定の実装に依存しません。もちろん、これは開発中に面倒なことがあります。

+2

に行くためにはCtrl + Alt + Nを使用することができます。 –

+0

もちろん、それは可能かもしれませんが、それは "Go to definition"という名前と矛盾します。このメソッドはインタフェースで定義されているため、その理由を示しています。 – Femaref

+0

私はGo to Implementを挙げたのですが、複数の人がいれば、メソッドを右クリックしてから、コンテキストのメニューに移動する実装ソースがあります。 – user282807

0

こんにちは「のすべての参照を検索する」アシスト私はそれは便利であってもなくてもよい知らないが、私は、Visual使用

0

ビジュアルアシストには、ビルド1836(2010年11月10日)時点のalt + g(go to)コマンドのインターフェイス実装が含まれています。

1

あなたがCodeRushを使用している場合は、ナビゲーションの選択肢を持ち出すと、それは実装を提供することができ、実装

関連する問題