Freigeben über


XamlReader.ReadSubtree Methode

Definition

Gibt ein XamlReader-Objekt auf Grundlage des aktuellen XamlReader-Objekts zurück, bei dem das zurückgegebene XamlReader-Objekt zum Durchlaufen einer Teilstruktur der XAML-Knotenstruktur verwendet wird.

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

Gibt zurück

Eine neue Instanz des XAML-Reader für die Teilstruktur.

Hinweise

Diese Methode verfügt über eine Standardimplementierung und gibt einen gültigen XamlReaderzurück. Die zurückgegebene XamlReader ist eine interne Klasse, die bestimmte XamlReader Aktionen einschränkt. Die Einschränkungen sind konsistent mit dem Zweck, nur eine dimensionierte Teilstruktur einer größeren Quelle für einen XAML-Knotensatz zu lesen und das Ende der Datei oder null auf dem aktuellen Knoten zurückzugeben, wenn die Unterstruktur beendet wird.

Im Allgemeinen sollten Sie den aktuellen Knoten vom Ersten Read überprüfen, um zu ermitteln, ob Sie einen Unterstrukturleser benötigen. Wie Sie dies überprüfen, kann implementierungsspezifisch sein; Vermeiden Sie es jedoch, mehrere Unterstrukturleser für jede Unterstruktur zu erstellen. Vermeiden Sie außerdem den Aufruf eines Unterbaumlesers für bestimmte Knotenfälle (z. B. für NamespaceDeclaration), die keine Teilstruktur von Knoten enthalten können.

Nachdem Sie einen Unterstrukturleser erhalten haben, müssen Sie diesen aufrufen Read , um einen aktuellen Knoten abzurufen (oder einen Aufruf Skip zum Abrufen eines nächsten Knotens). Sie erhalten beim Erstellen nicht automatisch eine anfängliche Knotenposition aus dem Unterstrukturleser.

Der Leser, den Sie durch Aufrufen ReadSubtree dieser Standardimplementierung erhalten, ist eine interne Klasse. Die interne Klasse basiert auf ihrem Verhalten auf der XamlReader Implementierung, die beim ReadSubtree Aufruf verwendet wird. Der Zweck der internen Klasse besteht darin, das Read allgemeine Durchlaufverhalten und zu umschließen. Die Durchquerung verbleibt innerhalb der beabsichtigten Teilstruktur, indem sie Paare oder StartObjectEndObject/Paare nachverfolgt.StartMember/EndMember Es gibt auch ordnungsgemäß für Read und true für IsEof zurückfalse, wenn sich der Leser am Ende der Unterstruktur befindet, wie durch seinen Einstiegspunkt definiert. Im Allgemeinen gehen Sie davon aus, dass jede XamlReader API, die Sie von einem Unterstrukturleser aus aufrufen, die gleiche Implementierung wie die Gesamtimplementierung XamlReader aufweist, mit Ausnahme des Durchlaufbegrenzungsverhaltens.

Ist jedoch ReadSubtree virtuell. Aus diesem Grund kann eine bestimmte XamlReader Implementierung ein Verhalten bereitstellen, das XamlReader sich vom internen Wrapperverhalten unterscheidet. Eine XamlReader Implementierung kann sogar die Funktionalität von Unterstrukturleserfunktionen deaktivieren, indem sie oder andere Ausnahmen zurückgibt NotImplementedException .

Gilt für: