Compartilhar via


TypeCodeDomSerializer.Serialize Método

Definição

Serializa a raiz do objeto, criando uma nova declaração de tipo que define a raiz.

public:
 virtual System::CodeDom::CodeTypeDeclaration ^ Serialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ root, System::Collections::ICollection ^ members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection? members);
abstract member Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
override this.Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
Public Overridable Function Serialize (manager As IDesignerSerializationManager, root As Object, members As ICollection) As CodeTypeDeclaration

Parâmetros

manager
IDesignerSerializationManager

O gerenciador de serialização a ser usado para serialização.

root
Object

O objeto a ser serializado.

members
ICollection

Coleção opcional de membros. Pode ser null ou vazio.

Retornos

Um CodeTypeDeclaration que define o objeto raiz.

Exceções

manager ou root é null.

Comentários

O Serialize método serializa o objeto raiz fornecido e a coleção opcional de membros para criar uma nova definição de tipo. Se a members coleção contiver valores, esses valores serão serializados. Os próprios valores podem ser serializados como variáveis de membro ou variáveis locais. Essa determinação é feita pesquisando uma propriedade de extensor no objeto chamado GenerateMember. Se true, um membro será gerado. Caso contrário, uma variável local será gerada. Para sua conveniência, a members coleção pode conter o objeto raiz. Nesse caso, o objeto raiz também não é adicionado como um membro ou variável local.

O nome do tipo retornado será obtido do nome do objeto raiz, se for um objeto nomeado. Caso contrário, um nome é fabricado a partir do nome de tipo simples da classe raiz.

A tabela a seguir mostra as tarefas executadas pela implementação padrão do Serialize método .

Tarefa Descrição
Propagação de contexto O contexto de serialização é inicializado com dados, incluindo o RootContext e CodeTypeDeclaration
Serialização de membro Em seguida, Serialize orienta todos os membros e chama SerializeToExpression. Como a serialização é feita de forma oportunista no SerializeToExpression, isso garante que a serialização não seja feita duas vezes.
Serialização raiz Em seguida, o objeto raiz é serializado e suas instruções são adicionadas à coleção de instruções.
Integração de instruções Depois que todos os objetos são serializados, o Serialize método ordena as instruções e as adiciona a um método retornado de GetInitializeMethod. Por fim, um construtor é fabricado que chama todos os métodos retornados de GetInitializeMethod.

-

A tabela a seguir mostra os objetos que o Serialize método coloca na pilha de contexto.

Instância Descrição
TypeCodeDomSerializer Esse serializador. Derivar classes pode achar útil adicionar propriedades públicas a essa classe.
CodeTypeDeclaration O tipo que está sendo criado. A maioria dos objetos não precisa de acesso direto a isso.

Aplica-se a

Confira também