Aracılığıyla paylaş


Stream türetilmiş türlerdeki bazı parametreler yeniden adlandırılır

.NET 6'da, türetilen System.IO.Stream türlerdeki yöntemlerin bazı parametreleri temel sınıfla eşleşecek şekilde yeniden adlandırıldı.

Açıklama değiştirildi

Önceki .NET sürümlerinde, geçersiz kılma yöntemlerinden Stream türetilen birkaç tür, ancak temel tür tarafından kullanılanlardan farklı parametre adları kullanır. Örneğin, bayt dizisi parametresi DeflateStream.Read(Byte[], Int32, Int32) , array temel sınıf yöntemindeki karşılık gelen bağımsız değişken olarak adlandırılır buffer.

.NET 6'da, eşleşmeyen parametre adlarına sahip olan kaynaktan System.IO.Stream türetilen tüm türler, temel türle aynı parametre adları kullanılarak temel türle uyumlu haline getirilmiştir.

Sürüm kullanıma sunulmuştur

.NET 6

Değişiklik nedeni

Değişikliğin birkaç nedeni vardır:

  • Geçersiz bir bağımsız değişken geçirildiyse ve özel durum oluşturulduysa, uygulamaya bağlı olarak bu özel durum temel parametrenin adını veya türetilmiş parametrenin adını içeriyor olabilir. Çağıran, temel veya türetilmiş tür olarak yazılan bir başvuru kullandığından, özel durumdaki bağımsız değişken adının her zaman doğru olması mümkün değildir.
  • Farklı parametre adlarına sahip olmak, tüm Stream uygulamalarda davranışı tutarlı bir şekilde doğrulamayı zorlaştırır.
  • .NET 6, bağımsız değişkenleri doğrulamak için bir Stream genel yöntem ekler ve bu yöntemin kullanmak için tutarlı bir parametre adına sahip olması gerekir.

Bu hataya neden olan değişikliğin etkisi çok azdır:

  • Mevcut ikili dosyalar için etkisi, etkilenen türetilmiş türlerdeki parametrelerin adlarını incelemek için yansıma kullanan kodlarla sınırlıdır.
  • Kaynak kodun etkisi, türetilmiş tür olarak yazılan bir değişken kullanarak türetilmiş akış türündeki yöntemleri çağırmak için adlandırılmış parametreleri kullanan kodla sınırlıdır.

Her iki durumda da önerilen eylem, temel parametre adını tutarlı bir şekilde kullanmaktır.

Etkilenen API’ler

Ayrıca bkz.