Tvůrci metod generují parametry s hodnotou HasDefaultValue nastavenou na false

System.Reflection.Emit.ConstructorBuilder a System.Reflection.Emit.MethodBuilder nyní vygenerujte parametry metody, které se při odrazu nastavily ParameterInfo.HasDefaultValue na falsehodnotu .

Předchozí chování

Dříve ConstructorBuilder a MethodBuilder vygenerovali IL pro parametry metody, kde HasDefaultValue parametrů byla nastavena na true.

Nové chování

Počínaje .NET 8, ConstructorBuilder a MethodBuilder generují IL pro parametry metody, kde je HasDefaultValue parametrů nastaveno na false, což je očekávaná hodnota.

Verze byla představena

.NET 8 Preview 5

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Předchozí chování bylo nesprávné, protože při definování metody nebo konstruktoru nebyly zadány žádné výchozí hodnoty parametrů.

Pokud používáte TypeBuilder.DefineConstructor nebo TypeBuilder.DefineMethod, ujistěte se, že spotřebitelé metod generovaných typů nespoléhají na to, že vlastnost ParameterInfo.HasDefaultValue je true.

Ovlivněná rozhraní API