Aracılığıyla paylaş


Yeni System.Linq.Queryable yöntemi aşırı yüklemeleri

içinde uygulanan https://github.com/dotnet/runtime/pull/47231yeni özelliklerin bir parçası olarak ek System.Linq.Queryable genel yöntem aşırı yüklemeleri eklenmiştir. Yöntemleri ararken yansıma kodunuz yeterince sağlam değilse, bu eklemeler sorgu sağlayıcısı uygulamalarınızı bozabilir.

Açıklama değiştirildi

.NET 6'da, Etkilenen API'ler bölümünde listelenen yöntemlere yeni aşırı yüklemeler eklendi. Aşağıdaki örnekte gösterilen gibi Düşünceler kodu, bu eklemelerin bir sonucu olarak kesilebilir:

typeof(System.Linq.Queryable)
    .GetMethods(BindingFlags.Public | BindingFlags.Static)
    .Where(m => m.Name == "ElementAt")
    .Single();

Bu yansıma kodu artık şuna benzer bir ileti içeren bir InvalidOperationException oluşturur: Sıra birden fazla öğe içeriyor.

Sürüm kullanıma sunulmuştur

.NET 6

Değişiklik nedeni

LINQ Queryable API'sini genişletmek için yeni aşırı yüklemeler eklendi.

Sorgu sağlayıcısı kitaplığı yazarıysanız, yansıma kodunuzun yöntem aşırı yükleme eklemelerine dayanıklı olduğundan emin olun. Örneğin, yöntemin parametre türlerini açıkça kabul eden bir Type.GetMethod aşırı yükleme kullanın.

Etkilenen API’ler

Aşağıdaki Queryable uzantı yöntemleri için yeni aşırı yüklemeler eklendi: