XamlObjectWriter.WriteGetObject メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したオブジェクトが親プロパティの既定または暗黙の値である場合に、概念上の 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 ります。 したがって、プラスWriteStartObject呼び出しのWriteGetObject数は、XAML ノード ストリームのWriteEndObject完全なオブジェクト書き込み評価の一部としての呼び出しの数と同じである必要があります。
オブジェクトの値自体は暗黙的な既定値ですが、そのオブジェクトには XAML ノード ストリームに基づいて書き込む必要があるメンバーがまだ存在する可能性があるため、オブジェクト グラフ内の暗黙的なオブジェクトの概念的 StartObject
な位置が必要です。 これが発生する一般的なシナリオは、コレクション プロパティのメンバー ノードを書き込み、コレクション プロパティを所有するオブジェクトの作成に対するコレクションの初期化が暗黙的に行われる場合 XamlObjectWriter です。