XNodeReaderは内部クラスですが、XmlReaderを呼び出すと、XNode.CreateReader クラスからアクセスできます。
XmlReader メソッドの無効なインデックスに対して、XNodeReader を除くすべての ArgumentOutOfRangeException の実装から GetAttribute(Int32) がスローされていました。 この変更により、XNodeReader.GetAttribute(int) は無効なインデックスに対して ArgumentOutOfRangeException を投げるようになりました。
以前の動作
XNodeReader.GetAttribute(int) インデックスが無効な場合 null 返されます。
新しい動作
インデックスが無効な場合、XNodeReader.GetAttribute(int) は ArgumentOutOfRangeException をスローします。
導入されたバージョン
.NET 6
破壊的変更の種類
この変更は ソースの互換性に影響を与える可能性があります。
変更の理由
XmlReader.GetAttribute(int) は十分に文書化されており、 XNodeReader は文書化されているとおりに動作していなかった。 無効なインデックスの動作は、他の XmlReader 実装とも矛盾していました。
推奨されるアクション
無効なインデックスを回避するには:
- XmlReader.AttributeCountを呼び出して、現在のノード内の属性の数を取得します。
- 次に、範囲
0..XmlReader.AttributeCount-1の値を XmlReader.GetAttribute(Int32)に渡します。
影響を受ける API
.NET