[C#] 인터페이스 뒤에서 메소드의 실제 구현을 탐색하는 방법이 있습니까?

Visual Studio에서 메서드 호출을 마우스 오른쪽 단추로 클릭하면 인터페이스를 통해이 메서드에 액세스하는 경우를 제외하고 클래스 내에서 해당 메서드의 구현으로 이동합니다.이 경우 실제 구현이 아닌 인터페이스 메서드로 이동합니다.

이 실제 구현에 액세스하는 방법 / 팁 (키 바로 가기 또는 기타)이 있습니까? 그렇지 않으면 실제로 생산적이고 오류가 발생하지 않는 부분을 구현 한 위치를 기억하기 위해 주석을 추가해야합니다!

업데이트 : 흥미로운 답변이지만 모두 성가 시므로 실제로 만족스럽지 않습니다. 정확한 예를 들겠습니다.

IInterface iInterface = someObject;                        
iInterface.someMethod();

실제로 Visual Studio가 메서드 호출 위의 한 줄만 보는 것이 조금 현명한 경우 실제 개체의 위치를 ​​봅니다. 그리고 그것은 나에게 많은 키 입력을 저장하고 “모든 참조 찾기”를 사용하지 말고 피곤한 눈으로 라인을 스캔하여 어느 라인에 올바른 라인이 있는지 확인하십시오. 🙂



답변

나는 다음을한다 :

1) 메소드를 마우스 오른쪽 단추로 클릭하고 “콜 계층보기”(또는 단축키 Ctrl + K, Ctrl + T)를 클릭하십시오.

2) “Implements x”폴더를 확장하면 해당 메소드의 모든 구현이 표시됩니다. 거기에 가려면 하나를 클릭하십시오.

비교적 빠르고 쉽습니다. 짜증나게 인터페이스 자체에 해당하는 것으로 보이지 않습니다.


업데이트 : Visual Studio 2015 업데이트 1부터 메소드를 마우스 오른쪽 버튼으로 클릭하고 구현으로 이동을 선택하십시오. 도구> 옵션> 환경> 키보드를 통해 키보드 단축키로 매핑하고 Edit.GoToImplementation 명령을 검색 할 수도 있습니다. 기본 바로 가기는 Ctrl+F12입니다. ( F12인터페이스로 이동합니다).



답변

VS2013에서는 커서를 메소드 위에 놓고 Navigate To … (CTRL +,)를 사용하면 이름이 선언 된 모든 위치가 표시됩니다. 다른 인터페이스가 동일한 메소드 이름을 사용하는 경우 제대로 작동하지 않습니다.

함께 VS2015 업데이트 1 “이동으로 구현”이라는 새로운 바로 가기가 지금있다.


답변

Visual Studio 2010 및 Visual Studio 2012의 Inheritance Margin이라는 무료 확장 프로그램을 만들어이 특정 기능을 제공하고 서명 일치로 인해 메서드가 인터페이스 메서드를 구현할 때 명확하게 표시합니다. 현재 버전에서는 글리프를 마우스 오른쪽 버튼으로 클릭하여 탐색 할 항목 메뉴를 얻을 수 있습니다.

상속 마진-Visual Studio Gallery

스크린 샷
(출처 : microsoft.com )


답변

마우스 오른쪽 버튼을 클릭 한 다음 “모든 참조 찾기”를 클릭하십시오.

인터페이스 선언 및 인터페이스 메소드 구현을 포함하여 메소드가 사용되는 모든 위치에 대한 코드 줄이 표시됩니다. 그런 다음 줄을 클릭하여 코드 위치로 이동할 수 있습니다.


답변

사용중인 Visual Studio 버전에 따라 조건부 “예”라고 말할 것입니다.

현재 Ultimate에서 작동하고 있으며이를 확인할 다른 버전이 없습니다. 즉, Ultimate 내에서 아키텍처 탐색기를 사용하여 구현을 찾을 수 있습니다. 오른쪽 클릭 방법보다 조금 더 복잡하지만 작동 방법은 다음과 같습니다.

  • 이동 View->Architecture Explorer(또는 CTRL-W, N)
  • 클래스 뷰를 클릭하고 열린 목록에서 인터페이스가 포함 된 네임 스페이스를 찾으십시오.
  • 네임 스페이스 목록의 오른쪽에는이라고 표시된 수직 버튼이 Types있습니다. 이것을 클릭하십시오
  • 고르다 Interfaces
  • 목록에서 인터페이스를 선택하십시오
  • 그러면 수직 버튼이 Members오른쪽에 나타납니다. 그 버튼을 클릭
  • Implemented by(아래에서 Inbound Navigation)를 선택 하면 인터페이스 구현 목록이 제공됩니다.
  • 구현을 두 번 클릭하면 수업으로 이동합니다.

답변

2012 Ultimate 내에서 솔루션 탐색기에서 인터페이스를 검색 할 수 있습니다. 인터페이스를 마우스 오른쪽 버튼으로 클릭하고 “파생 유형”을 선택하면 구현 된 클래스가 솔루션 탐색기에 표시됩니다. 그것이 명시 적으로 작동하는지 확실하지 않습니다.


답변

2015 년 12 월에 릴리스 된 Visual Studio 2015 업데이트 1은 이제 마우스 오른쪽 단추로 ‘구현으로 이동’기능을 표준으로 추가했습니다.