XamlObjectWriter Klass

Definition

Skapar ett objektdiagram från en XAML-källnodström.

public ref class XamlObjectWriter : System::Xaml::XamlWriter, System::Xaml::IXamlLineInfoConsumer
public class XamlObjectWriter : System.Xaml.XamlWriter, System.Xaml.IXamlLineInfoConsumer
type XamlObjectWriter = class
    inherit XamlWriter
    interface IXamlLineInfoConsumer
Public Class XamlObjectWriter
Inherits XamlWriter
Implements IXamlLineInfoConsumer
Arv
XamlObjectWriter
Implementeringar

Kommentarer

Metoderna Write för XamlObjectWriter att implementera ett mönster så att XamlObjectWriter använder XamlWriter som definieras av WriteNode metoden. WriteNode logikväxlar mellan Write metoderna, beroende på vilken nodtyp som befinner sig på den aktuella positionen i läsaren.

Scope

A XamlObjectWriter har ett omfångsbegrepp, det vill ex. XamlObjectWriter underhåller en konceptuell referenspunkt i utdataobjektdiagrammet. För ett visst omfång kan vissa åtgärder vara giltiga eller ogiltiga eller generera ett resultat utan åtgärd. Om du till exempel anropar WriteStartMember för att skriva direktiv för initiering av ett objekt som redan finns som en instans, utlöser standardimplementeringen ett undantag.

En möjlig teknik för att spåra omfång i en anpassad XamlObjectWriter är att justera nodåtgärderna med en stack- eller ramklass. Stacken eller ramen kan hålla reda på push och pop för varje nivå av objektmodelldjup som anges eller avslutas när XamlObjectWriter objektdiagrammet skrivs.

Återanrop

För att stödja mellanliggande och avancerade XamlObjectWriter scenarier tillhandahåller mekanismen för att skriva ett objektdiagram startpunkter för återanrop som inträffar när en XamlObjectWriter incheckning eller är på väg att genomföra vissa åtgärder. Vissa återanrop är aktiverade i inställningarna och är inte specifika för objekttypen eller den medlem som skrivs. Återanropsinformation är dock ofta tillgänglig i kontexten eller finns i händelsedata som skickas via återanropet. Följande är en lista över relevanta återanrop:

  • Återanropet som deklareras av AfterBeginInitHandler anropas när omfånget går till ett nytt objekt och vid BeginInit fasen av objektets livslängd för varje skapat objekt.

  • Återanropet som deklareras av AfterEndInitHandler anropas när omfånget går till ett nytt objekt och vid EndInit fasen av objektets livslängd för varje skapat objekt.

  • Återanropet som deklareras av BeforePropertiesHandler anropas när omfånget startar i ett objekt och inträffar när det första WriteStartMember anropet till objektomfånget görs men inte har bekräftats ännu.

  • Återanropet som deklareras av AfterPropertiesHandler anropas när omfånget startar i ett objekt och inträffar när anropet WriteEndObject till objektets omfång görs men inte har bekräftats ännu.

  • Återanropet som deklareras av XamlSetValueHandler anropas när OnSetValue anropas.

Skriva ordlistenycklar

Standardimplementeringen av XamlObjectWriter stöder typkonvertering på begränsningarna för en Dictionary<TKey,TValue> innan ordlisteinnehållet läggs till i objektdiagrammet. På så sätt kan en allmän ordlista nyckelas vid körning av objekt och matcha det relevanta allmänna Add beteendet och indexerarens beteende. Men som implementerats för basen XamlObjectWriterfinns den här funktionen endast för att skapa objektdiagram från basklassen Dictionary<TKey,TValue> och inte för härledda klasser av Dictionary<TKey,TValue>.

Söker efter borttagen

XAML-skrivare används potentiellt för uppskjutna åtgärder eller där ett anrop görs mot en XAML-skrivinstans som har tagits bort under tiden. Olika API:er för XamlObjectWriter kan utlösas ObjectDisposedException i dessa fall.

Konstruktorer

Name Description
XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings)

Initierar en ny instans av klassen med hjälp av XamlObjectWriter kontexten som används av en XamlReader och dess inställningar.

XamlObjectWriter(XamlSchemaContext)

Initierar en ny instans av klassen med hjälp av XamlObjectWriter XAML-schemakontexten som används av en XamlReader.

Egenskaper

Name Description
IsDisposed

Får reda på om Dispose(Boolean) har anropats.

(Ärvd från XamlWriter)
Result

Hämtar det sista objektet som skrevs. Anropas vanligtvis bara när nodströmmen är i slutet och objektdiagrammet är klart.

RootNameScope

Hämtar den INameScope tjänst som underhåller XAML-namnskopet för den absoluta nodroten för XAML-objektskrivaren.

SchemaContext

Hämtar den aktiva XAML-schemakontexten.

ShouldProvideLineInfo

Hämtar ett värde som rapporterar om en radinformationstjänst ska ange värden och därför även ska anropa metoden när den SetLineInfo(Int32, Int32) är relevant.

Metoder

Name Description
Clear()

Återställer alla möjliga ramar och rensar objektdiagrammet.

Close()

Stänger XAML-skrivarobjektet.

(Ärvd från XamlWriter)
Dispose(Boolean)

Släpper de ohanterade resurser som används av XamlObjectWriter, och du kan också frigöra de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
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)
OnAfterBeginInit(Object)

Anropar alla AfterBeginInitHandler metoder som är associerade med XamlObjectWriterSettings för den här XamlObjectWriter.

OnAfterEndInit(Object)

Anropar alla AfterEndInitHandler metoder som är associerade med XamlObjectWriterSettings för den här XamlObjectWriter.

OnAfterProperties(Object)

Anropar alla AfterPropertiesHandler refererade metoder som är associerade med XamlObjectWriterSettings för den här XamlObjectWriter.

OnBeforeProperties(Object)

Anropar alla BeforePropertiesHandler refererade metoder som är associerade med XamlObjectWriterSettings för den här XamlObjectWriter.

OnSetValue(Object, XamlMember, Object)

Anropar alla XamlSetValueHandler refererade metoder som är associerade med XamlObjectWriterSettings för den här skrivaren, så länge data handledXamlSetValueEventArgs inte trueär .

SetLineInfo(Int32, Int32)

Implementerar SetLineInfo(Int32, Int32) och tillhandahåller radinformation för undantag.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
WriteEndMember()

Stänger det aktuella medlemsomfånget och kan skriva värdet för medlemsomfånget när det stängs. Det nya omfånget blir medlemmens överordnade objektomfång.

WriteEndObject()

Stänger det aktuella objektomfånget i skrivaren. Det nya objektomfånget blir det överordnade medlemsomfånget.

WriteGetObject()

Skriver det konceptuella StartObject objektet till objektdiagrammet när det angivna objektet är ett standardvärde eller implicit värde för den överordnade egenskapen. Det implicita värdet kommer från information som hämtas från XAML-schemakontexten och information om bakgrundstyp, i stället för att anges som ett objektvärde i XAML-indatanoduppsättningen.

WriteNamespace(NamespaceDeclaration)

Definierar en namnområdesdeklaration som gäller för nästa objektomfång eller medlemsomfång.

WriteNode(XamlReader)

Utför växling baserat på nodtyp från XAML-läsaren (NodeType) och anropar relevant Write metod för skrivarimplementeringen.

(Ärvd från XamlWriter)
WriteStartMember(XamlMember)

Skriver en ny medlemsnod till det aktuella objektomfånget och omfånget blir ett nytt medlemsomfång.

WriteStartObject(XamlType)

Skriver en objektnod i det aktuella omfånget och anger omfånget till ett nytt objektomfång.

WriteValue(Object)

Skriver ett värde till det aktuella medlemsomfånget. Om det aktuella omfånget finns i en samling, en ordlista eller ett matrisobjekt ska värdet läggas till i samlingen, ordlistan eller matrisen.

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

Se även Dispose().

(Ärvd från XamlWriter)

Gäller för

Se även