XamlObjectWriter Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een objectgrafiek op basis van een XAML-bronknooppuntstroom.
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
- Overname
- Implementeringen
Opmerkingen
De Write methoden voor het implementeren van XamlObjectWriter een patroon, zodat het XamlObjectWriterXamlWriter patroon wordt gebruikt dat door de WriteNode methode wordt gedefinieerd.
WriteNode logica schakelt tussen de Write methoden, afhankelijk van het knooppunttype op de huidige positie in de lezer.
Scope
Een XamlObjectWriter heeft een concept van bereik, dat wil gezegd, het XamlObjectWriter onderhoudt een conceptueel referentiepunt in de uitvoerobjectgrafiek. Voor een bepaald bereik zijn bepaalde bewerkingen mogelijk geldig of ongeldig, of produceren ze een resultaat zonder bewerking. Als u bijvoorbeeld aanroept WriteStartMember om instructies te schrijven voor initialisatie voor een object dat al bestaat als een exemplaar, genereert de standaardimplementatie een uitzondering.
Een mogelijke techniek voor het bijhouden van het bereik in een aangepast bereik XamlObjectWriter is om de knooppuntacties uit te lijnen met een stack- of frameklasse. De stack of het frame kan push en pop bijhouden voor elk niveau van objectmodeldiepte dat wordt ingevoerd of afgesloten terwijl de XamlObjectWriter objectgrafiek wordt geschreven.
Terugbelverzoeken
Ter ondersteuning van tussenliggende en geavanceerde XamlObjectWriter scenario's biedt het mechanisme voor het schrijven van een objectgrafiek callback-toegangspunten die optreden wanneer een XamlObjectWriter doorvoer wordt doorgevoerd of bepaalde acties gaat doorvoeren. Sommige callbacks zijn ingeschakeld in de instellingen en zijn niet specifiek voor het objecttype of het lid dat wordt geschreven; callback-informatie is echter vaak beschikbaar in context of in de gebeurtenisgegevens die via de callback worden verzonden. Hier volgt een lijst met relevante callbacks:
De callback die wordt gedeclareerd door AfterBeginInitHandler , wordt aangeroepen wanneer het bereik naar een nieuw object gaat en in de fase van de BeginInit levensduur van het object voor elk gemaakt object.
De callback die wordt gedeclareerd door AfterEndInitHandler , wordt aangeroepen wanneer het bereik naar een nieuw object gaat en in de fase van de EndInit levensduur van het object voor elk gemaakt object.
De callback die wordt gedeclareerd BeforePropertiesHandler door, wordt aangeroepen wanneer het bereik in een object wordt gestart en treedt op wanneer de eerste WriteStartMember aanroep naar dat objectbereik wordt uitgevoerd, maar nog niet is doorgevoerd.
De callback die wordt gedeclareerd door AfterPropertiesHandler , wordt aangeroepen wanneer het bereik in een object wordt gestart en gebeurt wanneer de WriteEndObject aanroep naar dat objectbereik wordt uitgevoerd, maar nog niet is doorgevoerd.
De callback die wordt gedeclareerd door XamlSetValueHandler , wordt aangeroepen wanneer OnSetValue deze wordt aangeroepen.
Woordenlijstsleutels schrijven
De standaard implementatie van XamlObjectWriter ondersteunt typeconversie op basis van de beperkingen van een Dictionary<TKey,TValue> voordat de inhoud van de woordenlijst wordt toegevoegd aan de objectgrafiek. Op deze manier kan een algemene woordenlijst tijdens runtime worden gesleuteld door objecten en kan deze overeenkomen met het relevante algemene Add gedrag en de indexeerfunctie. Zoals geïmplementeerd voor de basis XamlObjectWriter, bestaat deze mogelijkheid echter alleen voor het maken van objectgrafieken uit de basisklasse Dictionary<TKey,TValue> en niet voor afgeleide klassen van Dictionary<TKey,TValue>.
Controles op verwijderd
XAML-schrijvers worden mogelijk gebruikt voor uitgestelde bewerkingen of wanneer een aanroep wordt uitgevoerd op basis van een XAML-schrijverinstantie die in de tussentijd is verwijderd. In deze gevallen kunnen verschillende API's XamlObjectWriter worden gegooid ObjectDisposedException .
Constructors
| Name | Description |
|---|---|
| XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings) |
Initialiseert een nieuw exemplaar van de XamlObjectWriter klasse met behulp van de context die wordt gebruikt door een XamlReader en de bijbehorende instellingen. |
| XamlObjectWriter(XamlSchemaContext) |
Initialiseert een nieuw exemplaar van de XamlObjectWriter klasse met behulp van de XAML-schemacontext die wordt gebruikt door een XamlReader. |
Eigenschappen
| Name | Description |
|---|---|
| IsDisposed |
Krijgt of Dispose(Boolean) is gebeld. (Overgenomen van XamlWriter) |
| Result |
Hiermee wordt het laatste object opgehaald dat is geschreven. Normaal gesproken wordt alleen aangeroepen wanneer de knooppuntstroom zich aan het einde bevindt en de objectgrafiek is voltooid. |
| RootNameScope |
Hiermee haalt u de INameScope service op die de XAML-naamscoop onderhoudt voor de absolute knooppunthoofdmap van de XAML-objectschrijver. |
| SchemaContext |
Hiermee haalt u de actieve XAML-schemacontext op. |
| ShouldProvideLineInfo |
Hiermee wordt een waarde opgehaald die rapporteert of een regelinformatieservice waarden moet leveren en daarom ook de SetLineInfo(Int32, Int32) methode moet aanroepen wanneer deze relevant is. |
Methoden
| Name | Description |
|---|---|
| Clear() |
Stelt alle mogelijke frames opnieuw in en wist de objectgrafiek. |
| Close() |
Hiermee sluit u het XAML Writer-object. (Overgenomen van XamlWriter) |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die worden gebruikt door de XamlObjectWriterbeheerde resources en brengt eventueel de beheerde resources vrij. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnAfterBeginInit(Object) |
Roept een AfterBeginInitHandler methode aan die aan deze XamlObjectWriterSettingsmethode is gekoppeldXamlObjectWriter. |
| OnAfterEndInit(Object) |
Roept een AfterEndInitHandler methode aan die aan deze XamlObjectWriterSettingsmethode is gekoppeldXamlObjectWriter. |
| OnAfterProperties(Object) |
Roept een AfterPropertiesHandler methode aan waarnaar wordt verwezen die voor deze XamlObjectWriterSettingsmethode is gekoppeldXamlObjectWriter. |
| OnBeforeProperties(Object) |
Roept een BeforePropertiesHandler methode aan waarnaar wordt verwezen die voor deze XamlObjectWriterSettingsmethode is gekoppeldXamlObjectWriter. |
| OnSetValue(Object, XamlMember, Object) |
Roept een XamlSetValueHandler methode aan waarnaar wordt XamlObjectWriterSettings verwezen voor deze schrijver, zolang |
| SetLineInfo(Int32, Int32) |
SetLineInfo(Int32, Int32) Implementeert en biedt regelinformatie voor uitzonderingen. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| WriteEndMember() |
Hiermee wordt het huidige lidbereik gesloten en kan de waarde van het ledenbereik worden weggeschreven terwijl het wordt gesloten. Het nieuwe bereik wordt het bovenliggende objectbereik van het lid. |
| WriteEndObject() |
Hiermee sluit u het huidige objectbereik in de schrijver. Het nieuwe objectbereik wordt het bovenliggende lidbereik. |
| WriteGetObject() |
Schrijft het conceptueel |
| WriteNamespace(NamespaceDeclaration) |
Definieert een naamruimtedeclaratie die van toepassing is op het volgende objectbereik of lidbereik. |
| WriteNode(XamlReader) |
Schakelt op basis van het knooppunttype van de XAML-lezer (NodeType) en roept de relevante |
| WriteStartMember(XamlMember) |
Hiermee schrijft u een nieuw lidknooppunt naar het huidige objectbereik en wordt het bereik een nieuw lidbereik. |
| WriteStartObject(XamlType) |
Hiermee schrijft u een objectknooppunt naar het huidige bereik en stelt u het bereik in op een nieuw objectbereik. |
| WriteValue(Object) |
Hiermee schrijft u een waarde naar het huidige lidbereik. Als het huidige bereik zich binnen een verzameling, woordenlijst of matrixobject bevindt, moet de waarde worden toegevoegd aan de verzameling, woordenlijst of matrix. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Zie Dispose(). (Overgenomen van XamlWriter) |