Visual Basic 편집하며 계속하기에서 지원되지 않는 편집
편집하며 계속하기를 사용하면 중단 모드에서 프로그램 실행을 중지하고 실행 코드를 변경한 다음 새로 통합된 변경 내용을 사용하여 프로그램 실행을 다시 시작할 수 있습니다. 클래스의 공용 구조체에 영향을 주는 선언 코드 편집은 일반적으로 허용되지 않지만, 클래스 내의 private 선언, 속성 본문 또는 메서드에 대한 다양한 편집이 허용됩니다. 편집하며 계속하기에서는 편집할 수 없는 코드를 가능한 경우 항상 연한 회색으로 표시합니다.
지원되지 않는 변경을 수행해야 하는 경우에는 디버깅을 중지하고 변경한 다음 디버깅 세션을 새로 시작해야 합니다.
항목 내용
다음 단원에서는 편집하며 계속하기의 경우 지원되지 않는 편집에 대해 설명합니다.
메서드 및 속성 본문 편집
정적 지역 변수에 대한 지원되지 않는 변경
- 정적 지역 변수 제거
반복 구문에 대한 지원되지 않는 변경
명령 포인터가 조건에 포함된 경우 While 루프의 조건 수정
명령 포인터가 식에 포함된 경우 For 문의 하한 또는 상한 수정
명령 포인터가 열거자 식에 사용되는 경우 Next 루프 추가 또는 제거
명령 포인터가 루프의 본문에 포함된 경우 For Each 루프 추가
명령 포인터가 루프의 본문 또는 열거자 식에 포함된 경우 For Each 루프의 반복기 변경
명령 포인터가 열거자 식에 포함된 경우 For Each 루프의 열거자 식 변경
제네릭에 대한 지원되지 않는 변경
- 제네릭 메서드 자체나 제네릭 메서드 본문은 변경할 수 없습니다. 기존 제네릭 메서드에 대한 호출이나 제네릭 형식의 인스턴스화는 추가, 삭제 또는 변경할 수 있습니다.
기타 지원되지 않는 변경
호출 스택에 있는 메서드의 호출 문 변경
명령 포인터가 Catch 블록이나 Finally 블록에서 끝나는 경우 Try...Catch 블록 추가
명령 포인터가 Catch 블록이나 Finally 블록에 포함된 경우 Try...Catch 블록 제거
현재 명령 포인터 주위에 여섯 개 이상의 중첩 Try 문 추가
현재 명령 포인터 주위에 Using 블록 추가
현재 명령 포인터 주위에 SynchLock 블록 추가
사용자 정의 #region 추가, 제거 또는 수정
특성 편집
편집하며 계속하기에서는 특성 수정을 지원하지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
특성 클래스 정의, 편집 또는 삭제
특성 추가
기존 특성 편집 또는 제거
클래스 선언 편집
클래스 선언에 대한 대부분의 변경은 중단 모드에 있는 동안 편집하며 계속하기에서 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 클래스 만들기
기존 클래스의 상속 이름 바꾸기, 삭제 또는 변경
새 인터페이스 구현 또는 인터페이스의 구현 제거
클래스에 대한 MustInherit, NotInheritable 또는 Shared 한정자 변경
ComClass 상태 추가, 변경 또는 제거
클래스의 액세스 한정자 변경
제네릭 클래스 선언 편집
클래스 멤버 선언 편집
멤버 선언에 대한 변경은 편집하며 계속하기에서 대부분의 경우 허용되지 않습니다. 예를 들어 중단 모드에서 멤버의 시그니처 또는 액세스 수준을 변경할 수 없고 private이 아닌 메서드나 속성을 새로 선언할 수 없으며 멤버를 완전히 제거할 수 없습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
포함하는 블록 안에 이름이 같은 전역 또는 멤버 변수를 선언하여 기존 멤버 변수 숨김
블록 안에 새 인스턴스를 선언하여 정적 지역 변수 숨김
private이 아닌 새 속성 또는 메서드 추가. Private 속성 또는 메서드는 추가할 수 있습니다.
새 필드 추가(이 필드가 Private이고 활성 문에 해당 필드 이름이 나타나지 않는 경우 제외)
SequentialLayout 또는 ExplicitLayout으로 표시된 클래스에 새 Private 필드 추가
생성자 추가 또는 삭제
이벤트 처리기 제거. 이벤트 처리기를 추가할 수는 있습니다.
오버로드하는 새 속성 또는 메서드 추가(이 속성이나 메서드가 Private이고 활성 문에 해당 이름이 나타나지 않는 경우 제외)
멤버 변수에 대한 WithEvents 절 추가 또는 제거
멤버 삭제
인터페이스 구현을 중지하는 속성 또는 메서드 선언 변경
제네릭을 사용하는 메서드 편집
private이 아닌 속성이나 메서드의 시그니처 또는 반환 형식 변경
기본 클래스에서 멤버 재정의 또는 숨기기
메서드의 MustInherit 또는 NotOverridable 상태 변경
속성 또는 메서드의 액세스 한정자 변경
필드의 형식 또는 읽기 전용 상태 변경
public 필드 변경
컴파일러 옵션 편집
중단 모드에서 편집하며 계속하기를 사용할 때는 다음과 같은 컴파일러 옵션을 변경, 추가 또는 제거할 수 없습니다.
Option Strict
Option Explicit
Option Compare
조건부 컴파일 편집
편집하며 계속하기 모드에서는 조건부 컴파일 지시문에 대한 대부분의 변경이 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
조건부 컴파일 지시문 추가 또는 제거
조건부 컴파일 문의 계산 식 추가, 제거 또는 변경
상수 편집
편집하며 계속하기 모드에서 상수에 대한 변경은 매우 제한적입니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 상수 정의(이 상수가 private이고 활성 문에 해당 상수 이름이 나타나지 않는 경우 제외)
상수의 형식 또는 값 변경
상수 제거
대리자 및 이벤트 선언 편집
대리자와 이벤트에 대한 대부분의 변경은 중단 모드에 있는 동안 편집하며 계속하기에서 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 대리자 정의
대리자 정의 변경 또는 삭제
새 이벤트 정의
이벤트 삭제
열거형 편집
열거형(Enums)에 대한 변경은 중단 모드에 있는 동안 편집하며 계속하기에서 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 Enum 정의
Enum의 내부 형식 수정
Enum 멤버 추가, 변경 또는 제거
Enum의 액세스 한정자 변경
외부 선언 편집
일반적으로 편집하며 계속하기 중에는 외부 메서드의 선언을 변경할 수 없습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
외부 선언 추가 또는 제거
외부 선언의 시그니처 또는 마샬링 특성 변경
Imports 편집
편집하며 계속하기에서는 중단 모드에 있는 동안 Imports 문의 추가, 변경 또는 제거를 허용하지 않습니다.
인터페이스 정의 편집
인터페이스를 구현하는 멤버를 변경할 수 있는 경우는 흔하지만 실제 인터페이스 정의에 대한 변경은 편집하며 계속하기에서 일반적으로 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 인터페이스 정의
인터페이스 멤버 추가, 변경 또는 제거
기존 인터페이스 삭제
인터페이스의 액세스 한정자 변경
인터페이스 상속 계층 구조 변경
모듈 선언 편집
모듈 선언에 대한 대부분의 변경은 중단 모드에 있는 동안 편집하며 계속하기에서 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 모듈 만들기
기존 모듈 이름 바꾸기 또는 삭제
모듈의 액세스 한정자 변경
모듈 멤버 선언 편집
편집하며 계속하기를 사용하는 경우 중단 모드에서 속성, 메서드 및 필드와 같은 모듈 멤버를 다양하게 변경할 수 있습니다. 그러나 일부 변경은 지원되지 않습니다. 특히 편집하며 계속하기에서는 private가 아닌 멤버에 대한 시그니처나 형식의 추가, 삭제 또는 변경을 지원하지 않습니다.
특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 멤버 추가(이 멤버가 Private이고 활성 문에 해당 이름이 나타나지 않는 경우 제외)
속성 또는 메서드 제거
private가 아닌 속성 또는 메서드의 시그니처 변경
제네릭을 사용하는 메서드 편집
속성 또는 메서드의 액세스 한정자 변경(예: Public을 Private로 변경)
기존 필드의 형식 삭제 또는 변경
중첩 형식 선언 편집
일반적으로 편집하며 계속하기를 사용할 때는 중단 모드에서 중첩 형식 선언을 변경할 수 없습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 중첩 형식 추가
다른 네임스페이스나 형식으로 중첩 형식 이동
구조체 선언 편집
구조체 선언에 대한 대부분의 변경은 중단 모드에 있는 동안 편집하며 계속하기에서 허용되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
새 구조체 만들기
기존 구조체 이름 바꾸기 또는 삭제
새 인터페이스 구현 또는 인터페이스의 구현 제거
구조체의 액세스 한정자 변경
구조체 멤버 선언 편집
편집하며 계속하기를 사용하는 경우 중단 모드에서 구조체 멤버(속성, 메서드 및 필드)를 다양하게 변경할 수 있습니다. 그러나 구조체 멤버의 선언에 영향을 주는 변경을 비롯한 일부 변경은 지원되지 않습니다. 특히 편집하며 계속하기에서는 다음과 같은 변경을 지원하지 않습니다.
생성자 메서드를 비롯한 메서드나 속성 추가 또는 제거(이 메서드가 Private이고 활성 문에 해당 이름이 나타나지 않는 경우 제외)
속성 또는 메서드의 시그니처 변경
제네릭을 사용하는 메서드 편집
속성 또는 메서드 선언에서 인터페이스를 구현하는지 여부 변경
속성 또는 메서드의 액세스 한정자 변경(예: Public을 Private로 변경)
필드 추가 또는 제거
필드의 형식 변경
참고 항목
작업
방법: 편집하며 계속하기를 사용하여 중단 모드에서 편집 적용