기존 클래스에서 인터페이스 생성
다음과 같은 수업이 있습니다.
Class MyClass
{
public MyClass { ... }
public string Name { get { ... } }
public int IdNumber { get { ... } set { ... } }
public void GenerateNme {...}
}
단지 샘플 클래스입니다. 인터페이스를 생성하고 싶습니다. 마찬가지로 MyClass는 IMyClass 인터페이스를 구현하고 있습니다. 출력이
public Interface IMyClass
{
string Name { get; }
int IdNumber { get; set; }
void GenerateNumber();
}
과
MyClass : IMyClass
{
}
수동으로 수행 할 수 있지만 궁금한 점이 있습니다.이를 수행하기 위해 따라야 할 다른 간단한 방법이 있습니까? 명확하지 않은 경우 의견을 남겨주세요.
감사.
예, Visual Studio를 사용하여 클래스에서 인터페이스를 추출 할 수 있습니다.
대상 클래스 파일 내부 : 오른쪽 클릭 > 리팩터링 > 인터페이스 추출 ...
예
그때
Visual Studio 2015/2017/2019에서는 빠른 작업 메뉴 ( Ctrl+ 마침표 .) 아래에 있습니다.
인터페이스를 추출하려는 클래스 이름에 커서를 두어야합니다. 그렇지 않으면 "여기에서 사용할 수있는 빠른 작업 없음"이 표시됩니다.
참고 : 이는 실제로 인터페이스를 추출 할 수있는 경우에만 가능합니다. 예를 들어 클래스에 정적 메서드 만있는 경우 작동하지 않습니다.
Visual Studio 2010에서는 마우스 오른쪽 버튼을 클릭 MyClass
하고 Refactor
'인터페이스 추출 ...'( Ctrl+ R, I)을 선택하면 추출 할 멤버를 확인할 수있는 창이 나타납니다.
Visual Studio 2015에서 커서를 클릭하거나 클래스 이름을 마우스 오른쪽 단추로 클릭 한 다음 빠른 작업을 선택 (또는 Ctrl-을 누름 .)하면 '인터페이스 추출'옵션이 표시됩니다.
Visual Studio의 리팩터링 메뉴에는 설명하는대로 정확히 수행하는 "인터페이스 추출"옵션이 있습니다.
Ctrl+ .는 '오버라이드 생성 중 ...'이라는 팝업이 나타나고 그 외에는 아무 일도 일어나지 않았으므로 빠른 실행 검색 상자에서 '리팩터링'을 검색했습니다. 결과에는 Edit -> Refactor -> Extract Interface
( Ctrl+ R, Ctrl+ I) 옵션이 있습니다.
이 팁이 다른 사람에게도 도움이되기를 바랍니다. VS 2017 EE를 사용하고 있습니다.
받아 적기를 바랍니다. 클래스에 "정적"이있는 경우. 인터페이스로 추출 할 수 없습니다. 인터페이스로 추출하기 전에 먼저 제거하십시오.
참조 URL : https://stackoverflow.com/questions/9277011/generate-interface-from-existing-class
'Development Tip' 카테고리의 다른 글
jdbctemplate을 통한 SQL 삽입의 ID (0) | 2021.01.09 |
---|---|
해시 맵에서 키 목록을 반환하는 방법은 무엇입니까? (0) | 2021.01.09 |
URL에서 반환 된 Zip 파일 다운로드 (0) | 2021.01.09 |
while (1)의 목적; (0) | 2021.01.09 |
How to change Button Title Alignment in Swift? (0) | 2021.01.09 |