Development Tip

기존 클래스에서 인터페이스 생성

yourdevel 2021. 1. 9. 10:59
반응형

기존 클래스에서 인터페이스 생성


다음과 같은 수업이 있습니다.

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

반응형