메서드 작성기는 HasDefaultValue를 false로 설정한 매개 변수를 생성함
System.Reflection.Emit.ConstructorBuilder 및 System.Reflection.Emit.MethodBuilder는 이제 반영될 때 ParameterInfo.HasDefaultValue가 false
로 설정된 메서드 매개 변수를 생성합니다.
이전 동작
이전에는 ConstructorBuilder 및 MethodBuilder가 매개 변수의 HasDefaultValue가 true
로 설정된 메서드 매개 변수에 대해 IL을 생성했습니다.
새 동작
.NET 8부터 ConstructorBuilder 및 MethodBuilder는 매개 변수의 HasDefaultValue가 예상 값인 false
로 설정된 메서드 매개 변수에 대한 IL을 생성합니다.
도입된 버전
.NET 8 미리 보기 5
호환성이 손상되는 변경의 형식
이 변경 사항은 동작 변경입니다.
변경 이유
메서드 또는 생성자를 정의할 때 기본 매개 변수 값이 지정되지 않았으므로 이전 동작이 잘못되었습니다.
권장 작업
TypeBuilder.DefineConstructor 또는 TypeBuilder.DefineMethod를 사용하는 경우 생성된 형식의 메서드 소비자가 ParameterInfo.HasDefaultValue 속성이 true
인 것에 의존하지 않도록 합니다.
영향을 받는 API
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET