語言

XamlObjectWriter.WriteGetObject 方法

定義

當指定的物件是父屬性的預設值或隱含值時,會將概念 StartObject 寫入物件圖中。 隱含值來自 XAML 架構上下文及後盾型別資訊所取得的資訊,而非在輸入 XAML 節點集中指定為物件值。

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

備註

以 寫入 WriteGetObject 與用 寫 WriteStartObject 入的差異可見於所得的物件圖。 WriteGetObject 不會建構某個類型的實例,因為 WriteGetObject API 沒有資訊來告知物件圖該建構什麼。 相反地,物件是在父屬性初始化時建立的;因此 A XamlObjectWriter 不需要構造它。 相較之下, WriteStartObject 指定應建構並插入該類型的實例到物件圖中。

如果你把 XAML 節點串流看作一連串的框架,a WriteGetObject 是與 WriteEndObject 呼叫平衡的。 因此,plus WriteGetObject 呼叫的數量WriteStartObject應等於完整物件寫入評估 XAML 節點串流時的呼叫數WriteEndObject。

StartObject隱含物件在物件圖中的位置是必要的,因為雖然物件值本身是隱含的預設,但該物件可能仍有成員需要根據 XAML 節點串流寫入。 一個典型的情況是 XamlObjectWriter 寫入集合屬性的成員節點,而集合初始化隱含於建立擁有該集合屬性的物件。

適用於