Partilhar via


XamlObjectWriter.WriteGetObject Método

Definição

Grava o StartObject conceitual no grafo de objeto quando o objeto especificado é um valor padrão ou implícito da propriedade pai. O valor implícito vem de informações que são obtidas com base no contexto do esquema XAML e informações de tipo de suporte, em vez de ser especificado como um valor de objeto no conjunto de nós XAML de entrada.

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

Comentários

A diferença entre escrever com WriteGetObject e gravar com WriteStartObject pode ser vista no grafo de objeto resultante. WriteGetObject não constrói uma instância de um tipo porque a WriteGetObject API não tem informações para informar o grafo de objeto do que construir. Em vez disso, o objeto foi criado quando a propriedade pai foi inicializada; XamlObjectWriter portanto, não é necessário construí-lo. Por outro lado, WriteStartObject especifica que uma instância desse tipo deve ser construída e inserida no grafo do objeto.

Se você pensar no fluxo de nós XAML como uma série de quadros, será WriteGetObject balanceado para uma WriteEndObject chamada. Portanto, o número de chamadas de WriteGetObject adição WriteStartObject deve ser igual ao número de WriteEndObject chamadas como parte de uma avaliação completa de gravação de objeto do fluxo de nó XAML.

A posição conceitual StartObject de um objeto implícito no grafo de objeto é necessária porque, embora o valor do objeto em si seja um padrão implícito, esse objeto ainda pode ter membros que precisam ser gravados com base no fluxo de nó XAML. Um cenário típico em que isso ocorre é quando XamlObjectWriter grava nós membros para uma propriedade de coleção e a inicialização da coleção está implícita para criar o objeto que possui a propriedade da coleção.

Aplica-se a