다음을 통해 공유


C# 편집하며 계속하기: 오류 4029

편집하며 계속하기 기능을 사용하는 동안 제네릭 형식의 컨텍스트 내부에 있는 메서드를 수정하면 디버그 세션을 계속할 수 없습니다.

이 오류는 제네릭 형식의 소멸자, 생성자, 연산자, 이벤트, 인덱서, 속성 또는 제네릭 메서드나 기타 메서드를 수정하려 했음을 의미합니다. 이러한 형식의 변경은 디버깅하는 동안 편집하며 계속하기 기능을 통해 지원되지 않습니다.

다음 코드에서는 이 오류가 발생하는 경우를 보여 줍니다.

static class Utils<T> where T: System.IComparable

{

   public static T Max(T item1, T item2)

   {

      if (item1.CompareTo(item2) > 0)

         return item1;

      return item2;

   }

}

class Program

{

   static void Main(string[] args)

   {

      int max = Utils<int>.Max(10, 20);

   }

}

if (item1.CompareTo(item2) > 0) 줄에 중단점을 추가한 다음 디버깅을 시작하고 > 0을 >= 0으로 변경하면 이 오류가 발생합니다.

이 오류를 해결하려면

  • 변경 내용을 취소한 다음 변경 내용 없이 디버깅을 계속합니다.

    - 또는 -

    디버그 메뉴에서 디버깅 중지를 클릭하고 필요한 변경 작업을 수행한 다음 새 디버깅 세션을 시작합니다.

참고 항목

참조

제네릭(C# 프로그래밍 가이드)

지원되는 코드 변경(C#)

편집하며 계속하기(Visual C#)

기타 리소스

편집하며 계속하기의 오류 및 경고(C#)