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
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기