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);
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 gestor de serialização a usar para serialização.

root
Object

O objetivo a serializar.

members
ICollection

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

Devoluções

A CodeTypeDeclaration que define o objeto raiz.

Exceções

manager ou root é null.

Observações

O Serialize método serializa o objeto raiz dado e a coleção opcional de membros para criar uma nova definição de tipo. Se a members coleção contiver valores, estes valores são serializados. Os próprios valores podem serializar-se como variáveis membros ou variáveis locais. Esta determinação é feita procurando uma propriedade extensora no objeto chamada GenerateMember. Se true, um membro for gerado. Caso contrário, é gerada uma variável local. Para conveniência, a members coleção pode conter o objeto raiz. Neste caso, o objeto raiz não é também adicionado como membro ou variável local.

O nome do tipo devolvido é retirado do nome do objeto raiz, caso fosse um objeto nomeado. Se não, um nome é fabricado a partir do nome simples do tipo da classe raiz.

A tabela seguinte mostra as tarefas realizadas pela implementação padrão do Serialize método.

Tarefa Description
Semeadura de Contexto O contexto de serialização é inicializado com dados que incluem e RootContextCodeTypeDeclaration
Serialização dos membros De seguida, Serialize todos os membros andam e chamam SerializeToExpression. Como a serialização é feita oportunisticamente em SerializeToExpression, isto garante que a serialização não é feita duas vezes.
Serialização raiz De seguida, o objeto raiz é serializado e as suas instruções são adicionadas à coleção de instruções.
Integração de Instruções Depois de todos os objetos serem serializados, o Serialize método ordena as instruções e adiciona-as a um método devolvido de GetInitializeMethod. Finalmente, é fabricado um construtor que chama todos os métodos devolvidos de GetInitializeMethod.

-

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

Instance Description
TypeCodeDomSerializer Este serializador. As classes derivadoras podem achar útil adicionar propriedades públicas a esta classe.
CodeTypeDeclaration O tipo que está a ser criado. A maioria dos objetos não precisa de acesso direto a isto.

Aplica-se a

Ver também