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 creando una nueva declaración de tipos 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);
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
El administrador de serialización que se va a usar para la serialización.
- root
- Object
El objeto que se va a serializar.
- members
- ICollection
Colección opcional de miembros. Puede ser null
o estar vacía.
Devoluciones
Objeto CodeTypeDeclaration que 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 miembro o variables locales. Esta determinación se realiza mediante la búsqueda de una propiedad extensor en el objeto denominado GenerateMember
. Si true
es , se genera un miembro. De lo contrario, se genera una variable local. Por 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 crea 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 | Descripción |
---|---|
Inicializació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 contextos.
Instancia | Descripción |
---|---|
TypeCodeDomSerializer | Este serializador. Derivar 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. |