XamlReader.ReadSubtree Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.