無效索引的 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
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應