Sdílet prostřednictvím


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 a MethodBuilder vygeneroval IL pro parametry metody, ConstructorBuilder kde HasDefaultValue byly parametry nastaveny na true.

Nové chování

Počínaje rozhraním .NET 8 a MethodBuilder vygenerujte IL pro parametry metody, ConstructorBuilder kde HasDefaultValue jsou parametry nastaveny na false, což je očekávaná hodnota.

Zavedená verze

.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é generovaných typů metody nespoléhají na ParameterInfo.HasDefaultValue vlastnost je true.

Ovlivněná rozhraní API