인터페이스 메소드의 구현을 어떻게 빨리 찾을 수 있습니까?
이 질문에 이미 답변이 있습니다.
- 인터페이스의 모든 구현을 어떻게 찾습니까? 12 답변
인터페이스의 메소드 / 속성 / 등에 대한 참조가 아닌 모든 구현을 찾는 빠른 방법이 있습니까? 다음은 몇 가지 샘플 코드입니다.
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"찾기 옵션 : "와일드 카드 사용"
이렇게하면 모든 구현을 찾을 수 있으며 구체적인 구현에서 함수를 검색 할 수 있습니다.
이 플러그인으로 시도해 볼 수 있습니다.
인터페이스가 일반적으로 탐색하려는 콘크리트 모델과 동일한 라이브러리에있는 경우 콘크리트 개체에 '사용 별칭'을 추가 할 수 있습니다. '사용'은 어차피 도움이되는데 도움이됩니다.
using System;
using PrimaryImplementation = YourNamespace.YourConcreteObject;
public interface IYourInterface{
}
인터페이스로 이동하면 인터페이스의 기본 구현에 도달하는 빠르고 더러운 방법이 있습니다. F12-> F12!
R #에는 팝업 메뉴에 구현으로 이동 옵션이있어 매우 편리합니다.
'Program Tip' 카테고리의 다른 글
Django 1.9에서 syncdb 대신 무엇을 사용해야합니까? (0) | 2020.11.10 |
---|---|
admob이 광고 응답을받습니다. (0) | 2020.11.10 |
Rails 컨트롤러에서 직접 HTML을 반환하는 방법은 무엇입니까? (0) | 2020.11.10 |
IE에서 Google Fonts를 작동시키는 방법은 무엇입니까? (0) | 2020.11.10 |
읽기 전용 모드로 vim의 탭에서 파일 열기 (0) | 2020.11.10 |