Visual Studio 클래스 멤버를 다시 구성하고 메서드 서명을 수정하기 위한 몇 가지 리팩터링을 제공합니다. 빠른 작업 및 리팩터링 메뉴(Ctrl+.)를 통해 이러한 리팩터링에 액세스할 수 있습니다.
메서드 서명 변경
이 리팩터링을 사용하면 메서드의 매개 변수를 제거, 다시 정렬 또는 추가하여 모든 호출 사이트를 자동으로 업데이트할 수 있습니다.
수정할 메서드의 이름 또는 해당 사용 중 하나에 텍스트 커서를 강조 표시하거나 배치합니다.
C#:
Vb:
강조 표시된 코드 Visual Basic.
다음으로 다음 중 하나를 수행합니다.
-
Keyboard
- Ctrl+R을 누른 다음 Ctrl+V를 누릅니다. (선택한 프로필에 따라 바로 가기 키가 다를 수 있습니다.)
- Ctrl 키를 누릅니다+.빠른 작업 및 리팩터링 메뉴를 트리거하고 미리 보기 창 팝업에서 서명 변경을 선택합니다.
-
마우스
- 리팩터링 > 편집 > 매개 변수 제거를 선택합니다.
- 리팩터 > 링 다시 정렬 매개 변수 편집>을 선택합니다.
- 코드를 마우스 오른쪽 단추로 클릭하고 빠른 작업 및 리팩터링 메뉴를 선택하고 미리 보기 창 팝업에서 서명 변경을 선택합니다.
-
Keyboard
표시되는 서명 변경 대화 상자에서 오른쪽의 단추를 사용하여 메서드 서명을 변경할 수 있습니다.
버튼 설명 위쪽/아래쪽 선택한 매개 변수를 목록 위아래로 이동 추가 목록에 새 매개 변수 추가 Remove 목록에서 선택한 매개 변수 제거 복원 선택한 교차된 매개 변수를 목록으로 복원 팁 (조언)
미리 보기 참조 변경 확인란을 사용하여 결과를 커밋하기 전에 확인할 수 있습니다.
서명 변경 대화 상자에서 추가를 선택하면 매개 변수 추가 대화 상자가 열립니다. 매개 변수 추가 대화 상자를 사용하면 형식 이름과 매개 변수 이름을 추가할 수 있습니다. 매개 변수를 필수 또는 기본값으로 선택적으로 만들도록 선택할 수 있습니다. 그런 다음 호출 사이트에서 값을 추가하고 해당 값에 대해 명명된 인수를 선택하거나 TODO 변수를 도입할 수 있습니다. TODO 변수는 각 오류를 방문하여 각 호출 사이트를 독립적으로 살펴보고 전달할 항목을 결정할 수 있도록 TODO를 코드에 넣습니다. 선택적 매개 변수의 경우 호출 사이트를 완전히 생략하는 옵션이 있습니다.
매개 변수 추가가 완료되면 확인을 눌러 변경 내용을 미리 봅니다.
멤버 위로 끌어오기
이 리팩터링에서는 멤버를 기본 형식으로 끌어오므로 인터페이스의 다른 구현에서도 해당 멤버를 상속합니다.
구현된 인터페이스의 멤버에 커서를 놓습니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
멤버를 기본 형식으로 끌어오기를 선택합니다.
대화 상자에서 선택한 인터페이스에 추가할 멤버를 선택합니다.
확인을 선택합니다. 선택한 멤버가 인터페이스로 끌어올 수 있습니다.
클래스 추상화
이 리팩터링에서는 추상이 아닌 클래스에 추상 메서드를 작성할 때 자동으로 클래스를 추상으로 표시합니다.
추상 메서드에 캐리트를 놓습니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
클래스 'abstract' 만들기를 선택합니다.
멤버를 정적으로 만들기
적용 대상: C#
이 리팩터링에서는 비정적 멤버를 정적 멤버로 변환하여 코드가 격리되었음을 분명히 하여 가독성을 향상합니다.
멤버 이름에 케어를 배치합니다.
Ctrl 키를 누릅니다+. (마침표) 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
정적 만들기를 선택합니다.
로컬 함수를 메서드로 변환
적용 대상: C#
이 리팩터링에서는 함수를 포함하는 메서드 외부에서 호출해야 하는 경우에 유용한 클래스 메서드로 로컬 함수를 변환합니다.
로컬 함수에 커서를 놓습니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
리팩터링을 적용하려면 Enter 키를 누릅니다.
정적 로컬 함수 리팩터링
적용 대상: C#
이 섹션에서는 로컬 함수를 정적으로 만들고 변수를 정적 로컬 함수에 명시적으로 전달하는 두 가지 관련 기능을 설명합니다.
로컬 함수를 정적으로 만들기
이 리팩터링으로 인해 로컬 함수가 정적이며 함수 외부에 정의된 변수를 함수의 선언 및 호출에 전달합니다. 정적 로컬 함수는 코드를 격리하고 단일 메서드에서만 호출되는 정적 함수를 사용하여 클래스의 오염을 방지하여 가독성을 향상시킵니다.
로컬 함수 이름에 caret를 배치합니다.
Ctrl 키를 누릅니다+. (마침표) 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
로컬 함수 '정적' 만들기를 선택합니다.
정적 로컬 함수에 변수를 명시적으로 전달합니다.
이 빠른 작업은 변수를 로컬 정적 함수에 명시적으로 전달합니다. 로컬 함수가 정적이되 외부에서 초기화된 변수를 계속 사용하려는 경우에 유용합니다.
정적 로컬 함수에서 사용되는 변수에 캐리트를 놓습니다.
Ctrl 키를 누릅니다+. (마침표) 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
로컬 정적 함수에서 변수 전달을 명시적으로 선택합니다.