Compartir a través de


TypeCodeDomSerializer.Serialize Método

Definición

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 truees , 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.

Se aplica a

Consulte también