TypeCodeDomSerializer.Serialize Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |