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 не содержит сведений для информирования графа объектов о том, что нужно создать. Вместо этого объект был создан при инициализации родительского свойства; XamlObjectWriter поэтому не нужно создавать его. Напротив, указывает, WriteStartObject что экземпляр этого типа должен быть создан и вставлен в граф объектов.

Если вы считаете поток узла XAML рядом кадров, WriteGetObject то вызов балансируется WriteEndObject . Таким образом, количество WriteGetObject вызовов плюса WriteStartObject должно быть равно количеству вызовов WriteEndObject в рамках полной оценки записи объекта потока узлов XAML.

Концептуальная StartObject позиция неявного объекта в графе объектов необходима, так как хотя само значение объекта является неявным значением по умолчанию, этот объект может иметь элементы, которые должны быть записаны на основе потока узлов XAML. Типичный сценарий, XamlObjectWriter когда записывает узлы-члены для свойства коллекции, а инициализация коллекции неявна для создания объекта, которому принадлежит свойство коллекции.

Применяется к