Aracılığıyla paylaş


Yöntem oluşturucuları HasDefaultValue değeri false olarak ayarlanmış parametreler oluşturur

System.Reflection.Emit.ConstructorBuilder ve System.Reflection.Emit.MethodBuilder şimdi yansıtıldığında ParameterInfo.HasDefaultValue olarak ayarlanmış false değerine sahip yöntem parametreleri oluşturuyor.

Önceki davranış

Daha önce ConstructorBuilder ve MethodBuilder, parametrelerinin HasDefaultValue'si true olarak ayarlandığında yöntem parametreleri için IL oluşturuyordu.

Yeni davranış

.NET 8'den itibaren, ConstructorBuilder ve MethodBuilder yöntem parametreleri için, parametrelerin HasDefaultValue olarak ayarlandığı, beklenen değer olan false için IL üretir.

Sürüm kullanıma sunulmuştur

.NET 8 Önizleme 5

Kesinti yaratan değişiklik türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Yöntem veya oluşturucu tanımlandığında varsayılan parametre değeri belirtilmediğinden önceki davranış yanlıştı.

TypeBuilder.DefineConstructor veya TypeBuilder.DefineMethod kullanıyorsanız, oluşturulan türlerin yöntemlerini kullananların ParameterInfo.HasDefaultValue özelliğinin true olmasına güvenmemeleri gerektiğinden emin olun.

Etkilenen API'ler