2010-02-04 91 views
15

有沒有辦法顯示從接口實現某種方法的所有類。如果在方法調用中單擊Visual Studio中的F12,則轉到其定義。如果它是一個界面,那麼你仍然必須去找班級。我會很高興能夠得到一個彈出窗口,並選擇實現接口的類之一...是否存在?轉到Visual Studio中的定義 - 接口

回答

1

Reflector可以做到這一點(至少在其已打開的組件中)。

(顯然,可以在任意組裝的實現,讓一個完整的搜索實施需要檢查每裝配

2

我使用的DevExpress /的CodeRush Go To Implementator plugin(全部免費)。

如果你安裝的DevExpress它並不明顯如何啓動它,你應該使用轉變 - CTRL - ALT - Ø鍵盤短,但我建議將它添加到文件菜單通過添加以下注冊表項:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Developer Express\CodeRush for VS\11.2] 
"HideMenu"=dword:00000000 

(刪除該\Wow6432Node\如果你在32位)

11

而且沒有在拖延任何Visual Studio擴展...

如果您右鍵單擊該方法並選擇'查找所有引用'或按f12 + shift查找符號結果中將返回實現列表;按接口,類,方法調用排序。

更新

安裝VS 2015年,右鍵 - GoToImplementation(如果你有該接口一個實現中,VS將直接導航到它,如果你有兩個或兩個以上,VS將列出它們)

+0

CTRL - F12(GoToImplementation),Visual Studio 2015 – 2016-10-24 13:50:25

7

當然在Visual Studio中已經存在!它從那以後就在那裏。

右鍵單擊您的代碼(例如:屬性)選擇「查看調用層次結構」。在Call Hierarchy窗口中,選擇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屬性(任何地方 - 類接口的內部或內部),並選擇「查看調用層次結構」,應該說這類實現它,所以整個界面。

剛開始我們都很喜歡瑞瑟爾,隨着時間的推移,我們都討厭它!

2

另一種替代方法是將光標置於您希望調查的方法上,然後按Ctrl +,(控件和逗號鍵) 這將顯示導航到界面和方法實現的對話框。