잘못된 인덱스에 대한 XNodeReader.GetAttribute 동작
XNodeReader
는 내부 클래스이지만 XNode.CreateReader를 호출하는 경우 XmlReader 클래스를 통해 액세스할 수 있습니다. XNodeReader
를 제외한 모든 XmlReader 구현은 GetAttribute(Int32) 메서드에서 잘못된 인덱스에 대한 ArgumentOutOfRangeException을 throw했습니다. 이 변경을 통해 XNodeReader.GetAttribute(int)
는 이제 잘못된 인덱스에 대한 ArgumentOutOfRangeException을 throw합니다.
이전 동작
인덱스가 잘못된 경우 XNodeReader.GetAttribute(int)
는 null
을 반환했습니다.
새 동작
인덱스가 잘못된 경우 XNodeReader.GetAttribute(int)
는 ArgumentOutOfRangeException을 throw합니다.
도입된 버전
.NET 6
호환성이 손상되는 변경의 형식
이 변경은 소스 호환성에 영향을 줄 수 있습니다.
변경 이유
XmlReader.GetAttribute(int)
가 잘 문서화되었으며 XNodeReader
가 문서화된 대로 작동하지 않았습니다. 잘못된 인덱스의 동작도 다른 XmlReader 구현과 일치하지 않았습니다.
권장 작업
잘못된 인덱스를 방지하려면:
- XmlReader.AttributeCount를 호출하여 현재 노드의 특성 수를 검색합니다.
- 그런 다음, 범위 값
0..XmlReader.AttributeCount-1
을 XmlReader.GetAttribute(Int32)에 전달합니다.
영향을 받는 API
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET