XamlObjectWriter.WriteGetObject Metoda

Definice

Zapíše koncept StartObject do grafu objektu, pokud je zadaný objekt výchozí nebo implicitní hodnota nadřazené vlastnosti. Implicitní hodnota pochází z informací získaných z kontextu schématu XAML a z informací o záložním typu, místo aby byla zadána jako hodnota objektu ve vstupní sadě uzlů XAML.

public:
 override void WriteGetObject();
public override void WriteGetObject ();
override this.WriteGetObject : unit -> unit
Public Overrides Sub WriteGetObject ()

Poznámky

Rozdíl mezi psaním pomocí WriteGetObject a psaním pomocí WriteStartObject je vidět ve výsledném grafu objektů. WriteGetObject nekonstruuje instanci typu, protože WriteGetObject rozhraní API nemá žádné informace, které by informovat graf objektu o tom, co se má vytvořit. Místo toho byl objekt vytvořen při inicializaci nadřazené vlastnosti; takže ho XamlObjectWriter nemusí vytvářet. Naproti tomu určuje, WriteStartObject že instance tohoto typu by měla být vytvořena a vložena do grafu objektů.

Pokud považujete stream uzlů XAML za řadu rámců, WriteGetObject je vyvážená WriteEndObject voláním . Proto by se počet WriteGetObject volání plus WriteStartObject měl rovnat počtu WriteEndObject volání v rámci úplného vyhodnocení zápisu objektu datového proudu uzlů XAML.

Koncepční StartObject pozice implicitního objektu v grafu objektů je nezbytná, protože i když samotná hodnota objektu je implicitní výchozí, tento objekt může mít stále členy, které je třeba zapsat na základě datového proudu uzlu XAML. Typickým scénářem, kdy k tomu dochází, je zápis XamlObjectWriter členských uzlů pro vlastnost kolekce a inicializace kolekce je implicitní vytvoření objektu, který vlastní vlastnost kolekce.

Platí pro