Zachowanie elementu XNodeReader.GetAttribute dla nieprawidłowego indeksu
XNodeReader
jest klasą wewnętrzną, ale jest dostępna za pośrednictwem klasy, jeśli wywołasz metodę XmlReaderXNode.CreateReader. Wszystkie XmlReader implementacje z wyjątkiem XNodeReader
zwróciły wartość ArgumentOutOfRangeException dla nieprawidłowego indeksu w metodzie GetAttribute(Int32) . W przypadku tej zmiany XNodeReader.GetAttribute(int)
teraz zgłaszany jest również wyjątek ArgumentOutOfRangeException dla nieprawidłowego indeksu.
Stare zachowanie
XNodeReader.GetAttribute(int)
zwrócony null
, jeśli indeks był nieprawidłowy.
Nowe zachowanie
XNodeReader.GetAttribute(int)
zgłasza wartość ArgumentOutOfRangeException , jeśli indeks jest nieprawidłowy.
Wprowadzona wersja
.NET 6
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność źródła.
Przyczyna wprowadzenia zmiany
XmlReader.GetAttribute(int)
jest dobrze udokumentowany i XNodeReader
nie zachowywał się zgodnie z dokumentacją. Zachowanie w przypadku nieprawidłowych indeksów było również niespójne z innymi XmlReader implementacjami.
Zalecana akcja
Aby uniknąć nieprawidłowego indeksu:
- Wywołaj metodę XmlReader.AttributeCount , aby pobrać liczbę atrybutów w bieżącym węźle.
- Następnie przekaż wartość zakresu
0..XmlReader.AttributeCount-1
do XmlReader.GetAttribute(Int32).