Share via


System.Void 배열 형식을 만들 수 없음

더 이상 System.Void 배열에 대한 System.Type 인스턴스를 만들 수 없습니다.

이전 동작

이전에는 typeof(void).MakeArrayType()에서 System.Type 인스턴스를 반환했습니다.

새 동작

.NET 9부터 typeof(void).MakeArrayType()에서 예외를 throw합니다.

도입된 버전

.NET 9 미리 보기 1

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

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

변경 이유

System.Void 배열이 잘못된 형식입니다. 이 형식은 경우에 따라 거부되며(예: C#의 void[](이)가 컴파일되지 않음) 이 형식의 배열을 만들 수 없습니다.

.NET 런타임을 사용하면 일부 상황에서 이 잘못된 형식이 생성되는 것을 허용했습니다. 그러나 다른 .NET 런타임 API에서 이 잘못된 형식을 사용하려고 하면 종종 예기치 않은 동작이 발생합니다. 동작을 강력하고 일관되게 만들려면 모든 상황에서 이러한 잘못된 배열 형식을 만드는 것을 허용하지 않는 것이 좋습니다.

System.Void 배열에 대한 형식을 만들려고 하는 코드를 제거합니다.

영향을 받는 API