Aracılığıyla paylaş


StringValues örtük işleçlerini etkileyen belirsiz aşırı yükleme çözümlemesi

.NET 9'da, params Span<T> dili özelliği'deki önemli bir değişiklik, StringValues'ün örtük işleçleriyle belirsizlik yaratır. Bu değişiklik, derleyicinin belirsiz yöntem çağrılarıyla karşılaştığında CS0121 hata oluşturmasını sağlar.

Önceki davranış

Daha önce Etkilenen API'ler bölümünde bahsedilen API'ler, StringValuesörtük işleçleriyle belirsiz bir aşırı yüklemeye sahip değildi. Sonuç olarak, derleyici aşırı yüklemeleri herhangi bir sorun olmadan çözebilir.

Yeni davranış

Derleyici, bu belirsiz aşırı yüklemelerle karşılaştığında hata CS0121 oluşturur ve bu da aşağıdaki hataya neden olur:

CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'

Sürüm kullanıma sunulmuştur

.NET 9

Çalışmayı bozan değişiklik türü

Bu değişiklik, kaynak uyumluluğu türünde bir değişikliktir.

Değişiklik nedeni

StringValues, string ve string[] üzerinde, params Span<T> dil özelliğiile çakışmalara neden olan örtük işleçlere sahiptir.

Bağımsız değişkenleri uygun türe dönüştürerek veya adlandırılmış parametreleri uygulayarak çağırmak istediğiniz yöntemi açıkça belirtin.

Etkilenen API'ler