XamlReader.ReadSubtree Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto XamlReader basato sull'oggetto XamlReader corrente, dove l'oggetto XamlReader restituito viene utilizzato per scorrere un sottoalbero della struttura dei nodi 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
Restituisce
Nuova istanza del reader XAML per il sottoalbero.
Commenti
Questo metodo ha un'implementazione predefinita e restituisce un oggetto valido XamlReader. L'oggetto restituito XamlReader è una classe interna che limita determinate XamlReader azioni. Le restrizioni sono coerenti con lo scopo di leggere solo un sottoalbero dimensionato di un'origine più grande per un set di nodi XAML e di restituire la fine del file o null
nel nodo corrente quando il sottoalbero viene chiuso.
In genere, è necessario controllare il nodo corrente dall'oggetto iniziale Read per determinare se è necessario un lettore di sottoalbero. Come si verifica questo può essere specifico dell'implementazione; Tuttavia, evitare di creare più lettori di sottoalbero per ogni sottoalbero. Evitare inoltre di richiamare un lettore di sottoalbero per determinati casi di nodo (ad esempio, per NamespaceDeclaration) che non possono contenere un sottoalbero di nodi.
Dopo aver ottenuto un lettore di sottoalbero, è necessario chiamarlo Read per ottenere un nodo corrente (o chiamare Skip per ottenere un nodo successivo). Non si ottiene automaticamente una posizione iniziale del nodo dal lettore di sottoalbero durante la creazione.
Il lettore ottenuto chiamando ReadSubtree da questa implementazione predefinita è una classe interna. La classe interna basa il proprio comportamento sull'implementazione XamlReader usata quando ReadSubtree viene chiamato. Lo scopo della classe interna è eseguire il wrapping del Read comportamento di attraversamento generale e . L'attraversamento rimane all'interno del sottoalbero desiderato tenendo traccia di StartMember/EndMember coppie o StartObject/EndObject coppie. Restituisce false
anche correttamente per Read e true
per IsEof quando il lettore si trova alla fine del sottoalbero, come definito dal relativo punto di ingresso. In generale, si presuppone che qualsiasi XamlReader API chiamata da un lettore di sottoalbero abbia la stessa implementazione di quella complessiva XamlReader , ad eccezione del comportamento di delimitazione di attraversamento.
Tuttavia, ReadSubtree è virtuale. Pertanto, un'implementazione specifica XamlReader può fornire un comportamento diverso dal comportamento del XamlReader wrapper interno e un'implementazione XamlReader può anche disabilitare la funzionalità lettore sottoalbero restituendo NotImplementedException o altre eccezioni.