XamlXmlWriter Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Använder en TextWriter klass eller XmlWriter stöd för att skriva en XAML-nodström till ett serialiserat text- eller markeringsformulär.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- Arv
Kommentarer
Den här klassen används vanligtvis i serialiseringsscenarier.
Använda XamlXmlWriter
API:et XamlWriter har flera metoder som skriver olika typer av XAML-noder. Tillsammans kallas dessa i dokumentationen för metoderna för Write en XamlWriter.
XamlXmlWriter använder flera interna tillståndsklasser för att avgöra vad som ska utföras när en av dess Write implementeringar anropas. Ett Write anrop använder tillstånden för att avgöra om det begärda elementet, attributet eller värdet kan skrivas eller om ett undantag genereras. Om du till exempel anropar WriteEndObject och tillståndet för den aktuella nodpositionen XamlXmlWriter är på ett värde eller inom en medlem genereras ett undantag. Normalt bör anropare av API:et XamlXmlWriter vara medvetna om vilken typ av aktuell XAML-nod som kommer från XAML-läsaren och XAML-nodströmmen. Utifrån den här kunskapen bör anropare undvika att anropa Write API:er som inte är relevanta för den aktuella nodtypen.
XAML-namnområden och XamlXmlWriter
Skrivbeteendet XamlXmlWriter för XAML-namnområdet är komplext och är inte begränsat till explicita anrop till WriteNamespace. I stället kan andra Write anrop, till exempel WriteStartObject, kräva att namnområdesdeklarationen skrivs vid vissa punkter i nodstrukturen. XAML-skrivaren genererar antingen ett prefix med sin egen logik eller använder information från tjänsten för att fastställa ett föredraget INamespacePrefixLookup prefix. Dessutom kan explicita WriteNamespace anrop skjutas upp eller returnera ingenting om XAML-namnområdesdeklarationen redan är tillämplig och deklarerad någon annanstans.
Undantag för skrivmetod
Undantag som genereras av XamlXmlWriterWrite metoderna är vanligtvis antingen InvalidOperationException eller XamlXmlWriterException.
En InvalidOperationException indikerar ofta att en XAML-läsare skickade en ogiltig nodstruktur till XAML-nodströmmen. I det här fallet är nodstrukturen ogiltig av skäl som inte är relaterade till validering av ett XAML-schema eller en XAML-schemakontext. Nodströmmen är i stället ogiltig i sin grundläggande form. Om en felaktig XAML-läsarimplementering till exempel genererade en XAML-nodström som innehöll två på varandra följande StartObject noder, skulle försöket att anropa den andra WriteStartObject utlösa en InvalidOperationException. Alla XAML-skrivare anser att en sådan åtgärd är ogiltig. Ett annat exempel på ett InvalidOperationException är när XAML-namnområdesinformation inte är tillgänglig via XAML-schemakontexten som gäller för den aktuella nodströmspositionen.
A XamlXmlWriterException anger ett undantag där just den här XAML-skrivarimplementeringen väljer att utlösa ett undantag baserat på dess avsedda funktioner. En XamlXmlWriterException kan ange specifika fall där en XamlXmlWriter bryter mot sitt eget tillstånd eller inställningar. Till exempel kan ett XamlXmlWriterException resultat av försök att skriva XAML-namnområdesinformation till en position som XamlXmlWriter och dess serialiseringsformat inte stöder, eller att dubblettmedlemmar skrivs XamlXmlWriterSettings när instansen förbjuder den.
Konstruktorer
| Name | Description |
|---|---|
| XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
Initierar en ny instans av klassen från en ström med hjälp av XamlXmlWriter ett skrivskyddsobjekt. |
| XamlXmlWriter(Stream, XamlSchemaContext) |
Initierar en ny instans av XamlXmlWriter klassen från en dataström. |
| XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Initierar en ny instans av XamlXmlWriter klassen utifrån ett TextWriter inställningsobjekt. |
| XamlXmlWriter(TextWriter, XamlSchemaContext) |
Initierar en ny instans av XamlXmlWriter klassen från en TextWriter bas. |
| XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Initierar en ny instans av XamlXmlWriter klassen utifrån ett XmlWriter inställningsobjekt. |
| XamlXmlWriter(XmlWriter, XamlSchemaContext) |
Initierar en ny instans av XamlXmlWriter klassen från en XmlWriter bas. |
Egenskaper
| Name | Description |
|---|---|
| IsDisposed |
Får reda på om Dispose(Boolean) har anropats. (Ärvd från XamlWriter) |
| SchemaContext |
Hämtar XAML-schemakontexten som används XamlXmlWriter för bearbetning. |
| Settings |
Hämtar skrivarinställningarna som används XamlXmlWriter för XAML-bearbetning. |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger XAML-skrivarobjektet. (Ärvd från XamlWriter) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av XamlXmlWriter och släpper eventuellt de hanterade resurserna. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Flush() |
|
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| WriteEndMember() |
Skriver en XAML-slutmedlemsnod till den underliggande XmlWriter noden eller TextWriter. Utlöser ett undantag om den aktuella positionen för XAML-nodströmmen inte är inom en medlem, eller om det interna skrivtillståndet inte stöder skrivning till en slutmedlem. |
| WriteEndObject() |
Skriver en XAML-slutobjektnod till den underliggande XmlWriter eller TextWriter. Utlöser ett undantag om den aktuella positionen för XAML-nodströmmen som bearbetas inte är kompatibel med att skriva ett slutobjekt. |
| WriteGetObject() |
Skriver ett objekt för fall där det angivna objektet är ett standardvärde eller implicit värde för egenskapen som skrivs, i stället för att anges som ett objektvärde i XAML-indatanoduppsättningen. |
| WriteNamespace(NamespaceDeclaration) |
Skriver namnområdesinformation till den underliggande XmlWriter eller TextWriter. Kan utlösa ett undantag för vissa tillstånd. Kan dock i stället skjuta upp skrivning av namnområdesinformation tills skrivaren och XAML-nodströmmen som bearbetas når en position där en XAML-namnområdesdeklaration kan infogas. |
| WriteNode(XamlReader) |
Utför växling baserat på nodtyp från XAML-läsaren (NodeType) och anropar relevant |
| WriteStartMember(XamlMember) |
Skriver en XAML-startmedlemsnod till den underliggande XmlWriter noden eller TextWriter. Utlöser ett undantag om den aktuella positionen för XAML-nodströmmen finns inom en annan medlem, eller om den inte är i ett omfångs- eller skrivtillstånd där en startmedlem kan skrivas. |
| WriteStartObject(XamlType) |
Skriver en XAML-startobjektnod till den underliggande XmlWriter eller TextWriter. Utlöser ett undantag om den aktuella positionen för XAML-nodströmmen inte finns i ett omfång där ett startobjekt kan skrivas, eller om skrivaren inte är i ett tillstånd som kan skriva ett startobjekt. |
| WriteValue(Object) |
Skriver en XAML-värdenod till den underliggande XmlWriter noden eller TextWriter. Utlöser ett undantag om den aktuella positionen för XAML-nodströmmen är ogiltig för att skriva ett värde, eller om skrivaren är i ett tillstånd där ett värde inte kan skrivas. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Se även Dispose(). (Ärvd från XamlWriter) |