XNodeReader.GetAttribute-Verhalten für ungültigen Index
XNodeReader
ist eine interne Klasse, die aber über die XmlReader-Klasse zugänglich ist, wenn Sie XNode.CreateReader aufrufen. Alle XmlReader-Implementierungen mit Ausnahme von XNodeReader
haben für einen ungültigen Index in der GetAttribute(Int32)-Methode eine ArgumentOutOfRangeException-Ausnahme ausgelöst. Mit dieser Änderung löst XNodeReader.GetAttribute(int)
jetzt auch eine ArgumentOutOfRangeException für einen ungültigen Index aus.
Altes Verhalten
XNodeReader.GetAttribute(int)
hat null
zurückgegeben, wenn der Index ungültig war.
Neues Verhalten
XNodeReader.GetAttribute(int)
löst eine ArgumentOutOfRangeException aus, wenn der Index ungültig ist.
Eingeführt in Version
.NET 6
Typ des Breaking Changes
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
XmlReader.GetAttribute(int)
ist gut dokumentiert, und XNodeReader
hat sich nicht wie dokumentiert verhalten. Das Verhalten für ungültige Indizes war zudem inkonsistent mit anderen XmlReader-Implementierungen.
Empfohlene Maßnahme
So vermeiden Sie einen ungültigen Index:
- Rufen Sie XmlReader.AttributeCount auf, um die Anzahl der Attribute im aktuellen Knoten abzurufen.
- Übergeben Sie dann einen Wert aus dem Bereich
0..XmlReader.AttributeCount-1
an XmlReader.GetAttribute(Int32).