XamlReader.ReadSubtree 메서드

정의

현재 XamlReader를 기반으로 하는 XamlReader를 반환합니다. 반환된 XamlReader는 XAML 노드 구조의 하위 트리에서 반복하는 데 사용됩니다.

public:
 virtual System::Xaml::XamlReader ^ ReadSubtree();
public virtual System.Xaml.XamlReader ReadSubtree ();
abstract member ReadSubtree : unit -> System.Xaml.XamlReader
override this.ReadSubtree : unit -> System.Xaml.XamlReader
Public Overridable Function ReadSubtree () As XamlReader

반환

하위 트리의 새 XAML 판독기 인스턴스입니다.

설명

이 메서드는 기본 구현이 고 유효한 XamlReader합니다. 반환 된 XamlReader 특정 제한 하는 내부 클래스 이며 XamlReader 작업 합니다. 제한은 차원이 지정 된 하위 트리만 읽고 XAML 노드 집합의 경우 더 큰 원본 및 파일의 끝을 반환 하기 위한 목적으로 일관 된 또는 null 하위 트리 종료 될 때 현재 노드에서 합니다.

초기에서 현재 노드를 확인 해야 하는 일반적으로 Read 하위 트리에서 판독기를 사용 해야 하는지 여부를 확인 하려면. 이 확인 하는 방법은 구현 별; 될 수 있습니다. 그러나 모든 하위 트리에 대해 여러 하위 트리에서 판독기를 만들지 마세요. 또한 특정 노드의 사례에 대 한 하위 트리에서 판독기를 호출 하지 않습니다 (예: NamespaceDeclaration) 노드의 하위 트리를 포함할 수 없는 합니다.

하위 트리에서 판독기를 얻은 후 호출 해야 합니다 Read 를 현재 노드를 가져옵니다 (호출 또는 Skip 다음 노드를 가져오려면). 자동으로 가져오지 초기 노드 위치를 하위 트리에서 판독기를 만들 때.

호출 하 여 사용 하는 판독기 ReadSubtree 이 기본값에서 구현 되는 내부 클래스입니다. 내부 클래스 동작을 기반으로 합니다 XamlReader 구현 되는 때 사용 되는 ReadSubtree 라고 합니다. 내부 클래스의 목적은를 래핑하는 Read 및 일반 이동 동작 합니다. 순회 추적 하 여 의도 한 하위 트리 내에 머물게 StartMember/EndMember 쌍 또는 StartObject/EndObject 쌍입니다. 또한 올바르게 반환 false 에 대 한 Read 하 고 true 에 대 한 IsEof 때 판독기가 끝에는 하위 트리의 진입점에 의해 정의 된 대로 합니다. 일반적으로 가정 하는 모든 XamlReader 하위 트리에서 판독기에서 호출 하는 API는 전체로 동일 하 게 구현 XamlReader 동작 경계 순회를 제외 하 고 있습니다.

그러나 ReadSubtree 가상이 아닙니다. 따라서 특정 XamlReader 구현에서 다른 동작을 제공할 수는 XamlReader 내부 래퍼 동작으로 XamlReader 구현을 반환 하 여 하위 트리에서 판독기 기능을 비활성화할 수도 있습니다 NotImplementedException 또는 기타 예외입니다.

적용 대상