XamlXmlWriter Classe
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.
Utilise une classe de prise en charge TextWriter ou XmlWriter pour écrire un flux de nœud XAML dans une forme sérialisée de balisage ou de texte.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- Héritage
Remarques
Cette classe est généralement utilisée dans les scénarios de sérialisation.
Utilisation de XamlXmlWriter
L’API XamlWriter a plusieurs méthodes qui écrivent différents types de nœuds XAML. Collectivement, ils sont appelés dans la Write
documentation les méthodes d’un XamlWriter. XamlXmlWriter utilise plusieurs classes d’état internes pour déterminer ce qu’il faut faire quand l’une de ses Write
implémentations est appelée. Un Write
appel utilise les états pour déterminer si l’élément, l’attribut ou la valeur demandé peut être écrit ou si une exception est levée. Par exemple, si vous appelez WriteEndObject et que l’état de la XamlXmlWriter position actuelle du nœud est sur une valeur ou dans un membre, une exception est levée. En règle générale, les appelants de l’API XamlXmlWriter doivent connaître le type du nœud XAML actuel qui provient du lecteur XAML et du flux de nœuds XAML. Sur la base de ces connaissances, les appelants doivent éviter d’appeler Write
des API qui ne sont pas pertinentes pour le type de nœud actuel.
Espaces de noms XAML et XamlXmlWriter
Le comportement d’écriture de l’espace de noms XAML de XamlXmlWriter est complexe et n’est pas limité aux appels explicites à WriteNamespace. Au lieu de cela, d’autres Write
appels, tels que WriteStartObject, peuvent exiger que la déclaration d’espace de noms soit écrite à des points particuliers de la structure du nœud. L’enregistreur XAML génère un préfixe par sa propre logique ou utilise les informations du INamespacePrefixLookup service pour déterminer un préfixe préféré. En outre, les appels explicites WriteNamespace peuvent différer ou ne renvoyer rien si la déclaration d’espace de noms XAML est déjà applicable et déclarée ailleurs.
Exceptions de méthode Write
Les exceptions levées par les XamlXmlWriterWrite
méthodes sont généralement ou InvalidOperationExceptionXamlXmlWriterException.
Un InvalidOperationException indique souvent qu’un lecteur XAML a passé une structure de nœud non valide dans le flux de nœuds XAML. Dans ce cas, la structure de nœud n’est pas valide pour des raisons qui ne sont pas liées à la validation d’un schéma XAML ou d’un contexte de schéma XAML. Au lieu de cela, le flux de nœud n’est pas valide dans sa forme de base. Par exemple, si une implémentation de lecteur XAML défectueuse a généré un flux de nœuds XAML contenant deux nœuds consécutifs StartObject
, la tentative d’appel du second WriteStartObject lève un InvalidOperationException. Tous les enregistreurs XAML considèrent qu’une telle opération n’est pas valide. Un autre exemple d’un est lorsque les informations d’espace InvalidOperationException de noms XAML ne sont pas disponibles via le contexte de schéma XAML qui s’applique à la position actuelle du flux de nœud.
Un XamlXmlWriterException indique une exception dans laquelle cette implémentation de l’enregistreur XAML particulière choisit de lever une exception en fonction de ses fonctionnalités prévues. Un XamlXmlWriterException peut indiquer des cas spécifiques où un XamlXmlWriter ne respecte pas son propre état ou paramètres. Par exemple, un XamlXmlWriterException peut résulter de tentatives d’écriture d’informations d’espace de noms XAML dans une position que le XamlXmlWriter et son format de sérialisation ne prennent pas en charge, ou de l’écriture de membres en double lorsque l’instance l’interdit XamlXmlWriterSettings .
Constructeurs
XamlXmlWriter(Stream, XamlSchemaContext) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'un flux de données. |
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'un flux à l'aide d'un objet de paramètres de writer. |
XamlXmlWriter(TextWriter, XamlSchemaContext) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'une base TextWriter. |
XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'une base TextWriter, à l'aide d'un objet de paramètres. |
XamlXmlWriter(XmlWriter, XamlSchemaContext) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'une base XmlWriter. |
XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Initialise une nouvelle instance de la classe XamlXmlWriter à partir d'une base XmlWriter, à l'aide d'un objet de paramètres. |
Propriétés
IsDisposed |
Obtient une valeur indiquant si Dispose(Boolean) a été appelé. (Hérité de XamlWriter) |
SchemaContext |
Obtient le contexte de schéma XAML utilisé par ce XamlXmlWriter pour le traitement. |
Settings |
Obtient les paramètres de writer utilisés par ce XamlXmlWriter pour le traitement XAML. |
Méthodes
Close() |
Ferme l'objet writer XAML. (Hérité de XamlWriter) |
Dispose(Boolean) |
Libère les ressources non managées utilisées par XamlXmlWriter et libère éventuellement les ressources managées. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Flush() |
Appelle la méthode |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
WriteEndMember() |
Écrit un nœud membre de fin XAML dans le XmlWriter ou TextWriter sous-jacent. Lève une exception si la position actuelle du flux de données de nœud XAML n'est pas dans un membre ou si l'état du writer interne ne prend pas en charge l'écriture dans un membre de fin. |
WriteEndObject() |
Écrit un nœud objet de fin XAML dans le XmlWriter ou TextWriter sous-jacent. Lève une exception si la position actuelle du flux de nœud XAML en cours de traitement est incompatible avec l'écriture d'un objet de fin. |
WriteGetObject() |
Écrit un objet dans les cas où l'objet spécifié est une valeur par défaut ou implicite de la propriété écrite, au lieu d'être spécifié en tant que valeur d'objet dans le jeu de nœuds XAML d'entrée. |
WriteNamespace(NamespaceDeclaration) |
Écrit les informations d'espace de noms dans le XmlWriterTextWriter sous-jacent. Peut lever une exception pour certains états ; toutefois, peut à la place différer l'écriture des informations d'espace de noms jusqu'à ce que le writer et le flux de données de nœud XAML en cours de traitement aient atteint une position à laquelle une déclaration d'espace de noms XAML peut être insérée. |
WriteNode(XamlReader) |
Exécute la commutation selon le type de nœud du lecteur XAML (NodeType) et appelle la méthode |
WriteStartMember(XamlMember) |
Écrit un nœud membre de début XAML dans le XmlWriter ou TextWriter sous-jacent. Lève une exception si la position actuelle du flux de données de nœud XAML est dans un autre membre ou si elle n'est pas dans une portée ou un état de writer dans laquelle/lequel un membre de début peut être écrit. |
WriteStartObject(XamlType) |
Écrit un nœud objet de début XAML dans le XmlWriter ou TextWriter sous-jacent. Lève une exception si la position actuelle du flux de données de nœud XAML n'est pas dans une portée dans laquelle un objet de début peut être écrit ou si l'état du writer ne permet pas l'écriture d'un objet de début. |
WriteValue(Object) |
Écrit un nœud de valeur XAML dans le XmlWriter ou TextWriter sous-jacent. Lève une exception si la position actuelle du flux de nœud XAML n'est pas valide pour l'écriture d'une valeur ou si l'état du writer ne permet pas l'écriture d'une valeur. |
Implémentations d’interfaces explicites
IDisposable.Dispose() |
Consultez Dispose(). (Hérité de XamlWriter) |
S’applique à
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour