Partager via


XamlReader.ReadSubtree Méthode

Définition

Retourne un XamlReader qui est basé sur le XamlReaderactuel, où le XamlReader retourné est utilisé pour itérer au sein d'une sous-arborescence de la structure de nœud 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

Retours

XamlReader

Nouvelle instance de lecteur XAML pour la sous-arborescence.

Remarques

Cette méthode a une implémentation par défaut et retourne une valeur valide XamlReader. Le retour XamlReader est une classe interne qui restreint certaines XamlReader actions. Les restrictions sont cohérentes avec l’objectif de lire uniquement une sous-arborescence dimensionnée d’une source plus grande pour un jeu de nœuds XAML et de retourner la fin du fichier ou null au niveau du nœud actuel lorsque la sous-arborescence est terminée.

En règle générale, vous devez vérifier le nœud actuel à partir de l’initial Read pour déterminer si vous avez besoin d’un lecteur de sous-arborescence. Comment vérifier cela peut être spécifique à l’implémentation ; toutefois, évitez de créer plusieurs lecteurs de sous-arborescence pour chaque sous-arborescence. En outre, évitez d’appeler un lecteur de sous-arborescence pour certains cas de nœud (par exemple, pour NamespaceDeclaration) qui ne peuvent pas contenir de sous-arborescence de nœuds.

Une fois que vous avez obtenu un lecteur de sous-arborescence, vous devez l’appeler Read pour obtenir un nœud actuel (ou pour Skip obtenir un nœud suivant). Vous n’obtenez pas automatiquement une position de nœud initiale à partir du lecteur de sous-arborescence lorsque vous le créez.

Le lecteur que vous obtenez en appelant ReadSubtree à partir de cette implémentation par défaut est une classe interne. La classe interne base son comportement sur l’implémentation XamlReader utilisée lorsqu’elle ReadSubtree est appelée. L’objectif de la classe interne est d’encapsuler le Read comportement de traversée général. La traversée reste dans la sous-arborescence prévue en conservant le suivi des StartMember/EndMember paires ou StartObject/EndObject des paires. Il retourne false également correctement pour Read et true pour IsEof quand le lecteur se trouve à la fin de la sous-arborescence, comme défini par son point d’entrée. En général, vous partez du principe que toute XamlReader API que vous appelez à partir d’un lecteur de sous-arborescence a la même implémentation que l’ensemble XamlReader , à l’exception du comportement englobant de traversée.

Toutefois, ReadSubtree est virtuel. Par conséquent, une implémentation spécifique XamlReader peut fournir un comportement différent du XamlReader comportement du wrapper interne; et une XamlReader implémentation peut même désactiver la fonctionnalité de lecteur de sous-arborescence en retournant NotImplementedException ou d’autres exceptions.

S’applique à