Program Tip

인터페이스 메소드의 구현을 어떻게 빨리 찾을 수 있습니까?

programtip 2020. 11. 10. 22:11
반응형

인터페이스 메소드의 구현을 어떻게 빨리 찾을 수 있습니까?


이 질문에 이미 답변이 있습니다.

인터페이스의 메소드 / 속성 / 등에 대한 참조가 아닌 모든 구현을 찾는 빠른 방법이 있습니까? 다음은 몇 가지 샘플 코드입니다.

public class SomeClass : IBaseClass
{
  public Int32 GetInt()
  {
     return 1;
  }
}

public interface IBaseClass
{
  public Int32 GetInt();
}

public class SomeOtherClass
{
  IBaseClass _someClass;
  private TestMethod()
  {
    _someClass = new SomeClass();
    _someClass.GetInt();
  }
}

SomeOtherClass.TestMethod ()를 검토하는 동안 SomeClass.GetInt ()에 빠르게 액세스하고 싶습니다. _someClass.GetInt ()를 마우스 오른쪽 버튼으로 클릭하고 'Go To Definition'을 클릭하면 인터페이스로 이동합니다. '모든 참조 찾기'를 클릭하면 잠재적으로 GetInt () 메서드를 구현하는 클래스뿐만 아니라 모든 사용 목록을 볼 수 있습니다.

이것을 찾는 더 빠른 방법이 있습니까? 다른 개발자의 조언이 있습니까? 우리는 대부분의 의존성에 DI를 사용하고 있습니다 . 즉, 깊게 중첩 된 코드를 통한 추적은 영원히 걸립니다 .


코딩하는 동안 마우스를 사용하지 않기 때문에 저는 보통

  • 메서드 위로 커서 이동
  • Ctrl + K clrl + t 통화 계층 구조 창을 엽니 다
  • Implements 노드로 이동합니다.
  • 선택한 구현으로 이동하려면 Return을 입력하십시오.

AFAIK ReSharper없이 메서드 구현을 찾는 가장 빠른 방법입니다.

(참고 : 동일한 시스템을 사용하여 클래스 메소드 구현에서 해당 인터페이스 선언으로 이동할 수 있습니다. 루트를 선택하기 만하면됩니다.)


Alt-End는 ReSharper에서이 작업을 수행 할 것입니다.


ReSharper없이이를 수행하는 가장 좋은 방법은 다음과 같습니다.

파일에서 찾기 (Ctrl + Shift + F) 찾을 내용 : "class * ISomeClass"찾기 옵션 : "와일드 카드 사용"

이렇게하면 모든 구현을 찾을 수 있으며 구체적인 구현에서 함수를 검색 할 수 있습니다.


이 플러그인으로 시도해 볼 수 있습니다.

http://blog.rthand.com/post/2010/01/18/Meet-e2809cGo-To-Implementatore2809d-DXCore-plugin-for-Visual-Studio.aspx


인터페이스가 일반적으로 탐색하려는 콘크리트 모델과 동일한 라이브러리에있는 경우 콘크리트 개체에 '사용 별칭'을 추가 할 수 있습니다. '사용'은 어차피 도움이되는데 도움이됩니다.

using System;
using PrimaryImplementation = YourNamespace.YourConcreteObject;


public interface IYourInterface{

}

인터페이스로 이동하면 인터페이스의 기본 구현에 도달하는 빠르고 더러운 방법이 있습니다. F12-> F12!


R #에는 팝업 메뉴에 구현으로 이동 옵션이있어 매우 편리합니다.

참고URL : https://stackoverflow.com/questions/1261567/how-do-you-quickly-find-the-implementations-of-an-interfaces-method

반응형