다음을 통해 공유


메서드 작성기는 HasDefaultValue를 false로 설정한 매개 변수를 생성함

System.Reflection.Emit.ConstructorBuilderSystem.Reflection.Emit.MethodBuilder는 이제 반영될 때 ParameterInfo.HasDefaultValuefalse로 설정된 메서드 매개 변수를 생성합니다.

이전 동작

이전에는 ConstructorBuilderMethodBuilder가 매개 변수의 HasDefaultValuetrue로 설정된 메서드 매개 변수에 대해 IL을 생성했습니다.

새 동작

.NET 8부터 ConstructorBuilderMethodBuilder는 매개 변수의 HasDefaultValue가 예상 값인 false로 설정된 메서드 매개 변수에 대한 IL을 생성합니다.

도입된 버전

.NET 8 미리 보기 5

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

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

변경 이유

메서드 또는 생성자를 정의할 때 기본 매개 변수 값이 지정되지 않았으므로 이전 동작이 잘못되었습니다.

TypeBuilder.DefineConstructor 또는 TypeBuilder.DefineMethod를 사용하는 경우 생성된 형식의 메서드 소비자가 ParameterInfo.HasDefaultValue 속성이 true인 것에 의존하지 않도록 합니다.

영향을 받는 API