無効なインデックスに対する XNodeReader.GetAttribute の動作
XNodeReader
は内部クラスですが、XNode.CreateReader を呼び出すと XmlReader クラスからアクセスできます。 GetAttribute(Int32) メソッドの無効なインデックスに対して、XNodeReader
を除くすべての XmlReader の実装から ArgumentOutOfRangeException がスローされていました。 今回の変更により、無効なインデックスに対して 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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示