Udostępnij za pośrednictwem


Niektóre parametry w typach pochodnych strumienia są zmieniane

W programie .NET 6 zmieniono nazwy niektórych parametrów metod na typach pochodnych, aby były zgodne z System.IO.Stream klasą bazową.

Opis zmiany

W poprzednich wersjach platformy .NET kilka typów pochodzących z Stream metod zastępowania, ale używać różnych nazw parametrów niż te używane przez typ podstawowy. Na przykład parametr tablicy bajtów klasy DeflateStream.Read(Byte[], Int32, Int32) ma nazwę array , a odpowiadający mu argument w metodzie klasy bazowej ma nazwę buffer.

Na platformie .NET 6 wszystkie typy pochodzące z System.IO.Stream niezgodności nazw parametrów zostały wprowadzone zgodnie z typem podstawowym przy użyciu tych samych nazw parametrów co typ podstawowy.

Wprowadzona wersja

.NET 6

Przyczyna wprowadzenia zmiany

Istnieje kilka powodów zmiany:

  • Jeśli przekazano nieprawidłowy argument i został zgłoszony wyjątek, ten wyjątek mógł zawierać nazwę parametru podstawowego lub nazwę pochodnego parametru, w zależności od implementacji. Ponieważ obiekt wywołujący mógł używać odwołania wpisanego jako podstawowego lub jako typu pochodnego, nie można nazwa argumentu w wyjątku zawsze być poprawna.
  • Posiadanie różnych nazw parametrów utrudnia spójne weryfikowanie zachowania we wszystkich Stream implementacjach.
  • Platforma .NET 6 dodaje publiczną metodę do Stream sprawdzania poprawności argumentów, a ta metoda musi mieć spójną nazwę parametru do użycia.

Efekt tej zmiany powodującej niezgodność jest minimalny:

  • W przypadku istniejących plików binarnych jego wpływ jest ograniczony do kodu, który używa odbicia w celu zbadania nazw parametrów na typach pochodnych, których dotyczy problem.
  • W przypadku kodu źródłowego jego wpływ jest ograniczony do kodu, który używa nazwanych parametrów do wywoływania metod na typie pochodnego strumienia przy użyciu zmiennej typizowanej jako typ pochodny.

W obu przypadkach zalecaną akcją jest spójne użycie nazwy parametru podstawowego.

Dotyczy interfejsów API

Zobacz też