Share via


Type.GetType 잘못된 모든 요소 형식에 대한 예외를 throw합니다.

Type.GetType(String)TypeLoadException 이제 byref-of-byref를 포함하여 잘못된 요소 형식을 가진 모든 형식에 대해 throw합니다. 이전에는 이 메서드가 일부 코너 사례에 대해 반환 null 되었습니다.

이전 동작

Type.GetType(String)TypeLoadException byref-of-byref와 같은 몇 가지 코너 사례를 제외하고 잘못된 요소 형식을 가진 대부분의 형식에 대해 throw했습니다. 예를 들어 .NET 7에서 반환 null 된 다음 코드는 다음과 같습니다.

Type.GetType("System.Object&&")

새 동작

Type.GetType(String)TypeLoadException byref-of-byref를 포함하여 잘못된 요소 형식을 가진 모든 형식에 대해 a를 throw합니다. 예를 들어 다음 코드(.NET 7에서 반환 null 됨)는 .NET 8에서 예외를 throw합니다.

Type.GetType("System.Object&&")

도입된 버전

.NET 8

호환성이 손상되는 변경의 형식

이 변경 사항은 동작 변경입니다.

변경 이유

.NET에는 여러 형식 이름 파서가 있었고, 이와 같은 코너 사례에서 다른 동작을 갖는 것은 드문 일이 아니었습니다. 동작은 다음에서 통합되었습니다.

  • 지정된 이름의 형식을 찾을 수 없으면 을 반환합니다 null.
  • 형식이 잘못된 경우 throw TypeLoadException합니다. "잘못된" 형식에는 제네릭 제약 조건 위반 또는 매개 변수 형식의 잘못된 컴퍼지션이 있는 형식이 포함됩니다.

코드가 이러한 코너 사례에 null 대한 반환 값에 의존하는 경우 대신 catch TypeLoadException 하도록 변경합니다.

영향을 받는 API