TypeCodeDomSerializer.Serialize Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Serializa la raíz del objeto mediante la creación de una nueva declaración de tipo que define la raíz.
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
Administrador de serialización que se va a usar para la serialización.
- root
- Object
Objeto que se va a serializar.
- members
- ICollection
Colección opcional de miembros. Puede ser null o estar vacío.
Devoluciones
que CodeTypeDeclaration define el objeto raíz.
Excepciones
manager o root es null.
Comentarios
El Serialize método serializa el objeto raíz especificado y la colección opcional de miembros para crear una nueva definición de tipo. Si la members colección contiene valores, estos valores se serializan. Los propios valores pueden serializarse como variables de miembro o variables locales. Esta determinación se realiza mediante la búsqueda de una propiedad extensor en el objeto denominado GenerateMember. Si truees , se genera un miembro. De lo contrario, se genera una variable local. Para mayor comodidad, la members colección puede contener el objeto raíz. En este caso, el objeto raíz no se agrega también como miembro o variable local.
El nombre del tipo devuelto se toma del nombre del objeto raíz, si era un objeto con nombre. Si no es así, se fabrica un nombre a partir del nombre de tipo simple de la clase raíz.
En la tabla siguiente se muestran las tareas realizadas por la implementación predeterminada del Serialize método .
| tarea | Description |
|---|---|
| Propagación de contexto | El contexto de serialización se inicializa con datos incluidos y RootContextCodeTypeDeclaration |
| Serialización de miembros | A continuación, Serialize recorre todos los miembros y llama a SerializeToExpression. Dado que la serialización se realiza de forma oportunista en SerializeToExpression, esto garantiza que la serialización no se realice dos veces. |
| Serialización raíz | A continuación, el objeto raíz se serializa y sus instrucciones se agregan a la colección de instrucciones. |
| Integración de instrucciones | Una vez serializados todos los objetos, el Serialize método ordena las instrucciones y las agrega a un método devuelto desde GetInitializeMethod. Por último, se fabrica un constructor que llama a todos los métodos devueltos desde GetInitializeMethod. |
-
En la tabla siguiente se muestran los objetos que coloca el Serialize método en la pila de contexto.
| Instance | Description |
|---|---|
| TypeCodeDomSerializer | Este serializador. La derivación de clases puede resultar útil para agregar propiedades públicas a esta clase. |
| CodeTypeDeclaration | Tipo que se va a crear. La mayoría de los objetos no necesitan acceso directo a esto. |