Methodebouwers genereren parameters met HasDefaultValue ingesteld op false
System.Reflection.Emit.ConstructorBuilder en System.Reflection.Emit.MethodBuilder genereer nu methodeparameters die, wanneer ze worden weergegeven, zijn ParameterInfo.HasDefaultValue ingesteld op false
.
Vorig gedrag
ConstructorBuilder Eerder en MethodBuilder gegenereerd IL voor methodeparameters waarop de HasDefaultValue parameters zijn ingesteld op true
.
Nieuw gedrag
Begin in .NET 8 ConstructorBuilder en MethodBuilder genereer IL voor methodeparameters waarop de HasDefaultValue parameters zijn ingesteld false
. Dit is de verwachte waarde.
Versie geïntroduceerd
.NET 8 Preview 5
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Het vorige gedrag was onjuist, omdat er geen standaardparameterwaarden zijn opgegeven toen de methode of constructor werd gedefinieerd.
Aanbevolen actie
Als u deze gebruikt TypeBuilder.DefineConstructor ofTypeBuilder.DefineMethod, moet u ervoor zorgen dat gebruikers van de methoden van de gegenereerde typen niet afhankelijk zijn van de ParameterInfo.HasDefaultValue eigenschap.true