Esta documentación está archivada y no tiene mantenimiento.

System.Runtime.Serialization (Espacio de nombres)

Actualización: noviembre 2007

El espacio de nombres System.Runtime.Serialization contiene clases que se pueden utilizar para serializar y deserializar objetos.

La serialización es el proceso mediante el cual se convierte un objeto o un gráfico de objetos en una secuencia lineal de bytes para su almacenamiento o transmisión a otra ubicación. La deserialización es el proceso mediante el cual se recoge la información almacenada y se vuelven a crear objetos a partir de la misma.

La interfaz ISerializable proporciona la manera en que las clases pueden controlar su propio comportamiento de serialización. Las clases del espacio de nombres System.Runtime.Serialization.Formatters controlan el formato actual de varios tipos de datos encapsulados en los objetos serializados.

Clases de contrato de datos

Dos clases notables de este espacio de nombres son las clases de atributo DataContractAttribute y DataMemberAttribute. Aplique estos atributos (o clases y miembros de clase respectivamente) al crear servicios Windows Communication Foundation (WCF) para especificar qué miembros de una clase contienen datos que deben serializarse. También puede aplicar EnumMemberAttribute a miembros de enumeración para controlar el XML generado. Y aplique CollectionDataContractAttribute a clases de colección para controlar los elementos XML generados a partir de colecciones (como nombre de clave y nombre de valor para).

Serialización de contratos de datos

Otra clase principal es DataContractSerializer. Utilice esta clase para serializar o deserializar instancias de clases donde se haya aplicado DataContractAttribute y DataMemberAttribute.

Para crear código a partir de documentos de esquema XSD, utilice XsdDataContractImporter. Con la clase puede leer un documento XSD y generar componentes System.CodeDom que se pueden utilizar para generar código fuente Visual Basic o Visual C# adaptado a la administración de datos XML.

A la inversa, para crear documentos de esquema XSD a partir de clases CLR, utilice XsdDataContractExporter. Puede proporcionar un conjunto como entrada, y exportar esquemas XSD que se pueden ser utilizados por otros servicios para crear mensajes XML interoperables.

  ClaseDescripción
kd1dc9w5.pubclass(es-es,VS.90).gifCollectionDataContractAttributeCuando se aplica a un tipo de colección, habilita la especificación personalizada de los elementos de elemento de colección. Este atributo sólo se puede aplicar a los tipos que son reconocidos por DataContractSerializer como colecciones válidas serializables.
kd1dc9w5.pubclass(es-es,VS.90).gifContractNamespaceAttributeEspecifica el espacio de nombres CLR y el espacio de nombres XML del contrato de datos.
kd1dc9w5.pubclass(es-es,VS.90).gifDataContractAttributeEspecifica que el tipo define o implementa un contrato de datos y los puede serializar un serializador como, por ejemplo DataContractSerializer. Para que hacer su tipo sea serializable, los autores del tipo deben definir un contrato de datos para dicho tipo.
kd1dc9w5.pubclass(es-es,VS.90).gifDataContractSerializerSerializa y deserializa una instancia de un tipo en una secuencia o en un documento XML utilizando un contrato de datos proporcionado. Esta clase no puede heredarse.
kd1dc9w5.pubclass(es-es,VS.90).gifDataMemberAttributeCuando se aplica al miembro de un tipo, especifica que el miembro forma parte de un contrato de datos y lo puede serializar DataContractSerializer.
kd1dc9w5.pubclass(es-es,VS.90).gifEnumMemberAttributeEspecifica que el campo es un miembro de enumeración y se debe serializar.
kd1dc9w5.pubclass(es-es,VS.90).gifExportOptionsRepresenta las opciones que se pueden establecer para XsdDataContractExporter.
kd1dc9w5.pubclass(es-es,VS.90).gifExtensionDataObjectAlmacena los datos de un contrato de datos con control de versiones que se ha ampliado agregando nuevos miembros.
kd1dc9w5.pubclass(es-es,VS.90).gifFormatterProporciona funcionalidad básica para los formateadores de serialización de Common Language Runtime.
kd1dc9w5.pubclass(es-es,VS.90).gifFormatterConverterRepresenta una implementación básica de la interfaz IFormatterConverter que utiliza la clase Convert y la interfaz IConvertible.
kd1dc9w5.pubclass(es-es,VS.90).gifFormatterServices Proporciona métodos estáticos para ayudar a la implementación de un objeto Formatter para la serialización. No se puede heredar esta clase.
kd1dc9w5.pubclass(es-es,VS.90).gifIgnoreDataMemberAttributeCuando se aplica al miembro de un tipo, especifica que el miembro no forma parte de un contrato de datos y no está serializado.
kd1dc9w5.pubclass(es-es,VS.90).gifImportOptionsRepresenta las opciones que se pueden establecer en XsdDataContractImporter.
kd1dc9w5.pubclass(es-es,VS.90).gifInvalidDataContractExceptionLa excepción que se inicia cuando DataContractSerializer o NetDataContractSerializer detecta un contrato de datos no válido durante la serialización y deserialización.
kd1dc9w5.pubclass(es-es,VS.90).gifKnownTypeAttributeEspecifica tipos que deberá reconocer DataContractSerializer al serializar o deserializar un tipo determinado.
kd1dc9w5.pubclass(es-es,VS.90).gifNetDataContractSerializerSerializa y deserializa una instancia de un tipo en secuencia XML o en documento utilizando los tipos .NET Framework proporcionados. Esta clase no puede heredarse.
kd1dc9w5.pubclass(es-es,VS.90).gifObjectIDGeneratorGenera identificadores para los objetos.
kd1dc9w5.pubclass(es-es,VS.90).gifObjectManagerRealiza el seguimiento de los objetos a medida que se deserializan.
kd1dc9w5.pubclass(es-es,VS.90).gifOnDeserializedAttributeCuando se aplica a un método, especifica que se produce una llamada al método inmediatamente después de la deserialización del objeto.
kd1dc9w5.pubclass(es-es,VS.90).gifOnDeserializingAttributeCuando se aplica a un método, especifica que la llamada al método se produce durante la deserialización de un objeto.
kd1dc9w5.pubclass(es-es,VS.90).gifOnSerializedAttributeCuando se aplica a un método, especifica que la llamada al método se produce después de la serialización de un gráfico de objetos.
kd1dc9w5.pubclass(es-es,VS.90).gifOnSerializingAttributeCuando se aplica a un método, especifica que se produce una llamada al método antes de la serialización de un objeto.
kd1dc9w5.pubclass(es-es,VS.90).gifOptionalFieldAttribute Especifica que podría faltar un campo de una secuencia de serialización para que BinaryFormatter y SoapFormatter no produzcan una excepción.
kd1dc9w5.pubclass(es-es,VS.90).gifSerializationBinder Permite a los usuarios controlar la carga de clases y encargar qué clase se debe cargar.
kd1dc9w5.pubclass(es-es,VS.90).gifSerializationExceptionExcepción que se produce cuando se produce un error durante la serialización o deserialización.
kd1dc9w5.pubclass(es-es,VS.90).gifSerializationInfoAlmacena todos los datos necesarios para serializar o deserializar un objeto. No se puede heredar esta clase.
kd1dc9w5.pubclass(es-es,VS.90).gifSerializationInfoEnumeratorProporciona un mecanismo compatible con el formateador para analizar los datos de SerializationInfo. No se puede heredar esta clase.
kd1dc9w5.pubclass(es-es,VS.90).gifSerializationObjectManagerAdministra en tiempo de ejecución los procesos de serialización. Esta clase no se puede heredar.
kd1dc9w5.pubclass(es-es,VS.90).gifSurrogateSelectorAyuda a los formateadores en la selección de los suplentes de serialización en los que se puede delegar el proceso de serialización o de deserialización.
kd1dc9w5.pubclass(es-es,VS.90).gifXmlObjectSerializerProporciona la clase base usada para serializar objetos como secuencias XML o documentos. Esta clase es abstracta.
kd1dc9w5.pubclass(es-es,VS.90).gifXmlSerializableServicesContiene los métodos para leer y escribir XML.
kd1dc9w5.pubclass(es-es,VS.90).gifXsdDataContractExporterPermite la transformación de un conjunto de tipos .NET Framework que se usan en contratos de datos en un archivo de esquema XML (.xsd).
kd1dc9w5.pubclass(es-es,VS.90).gifXsdDataContractImporterPermite la transformación de un conjunto de archivos de esquema XML (.xsd) en los tipos de Common Language Runtime (CLR).

  EstructuraDescripción
kd1dc9w5.pubstructure(es-es,VS.90).gifSerializationEntryGuarda el valor, Type y nombre de un objeto serializado.
kd1dc9w5.pubstructure(es-es,VS.90).gifStreamingContextDescribe el origen y destino de una secuencia de serialización determinada y proporciona un contexto definido por el llamador adicional.

  InterfazDescripción
kd1dc9w5.pubinterface(es-es,VS.90).gifIDataContractSurrogateProporciona los métodos necesarios para sustituir un tipo por otro mediante DataContractSerializer durante la serialización, la deserialización y la exportación e importación de documentos de esquema XML (XSD).
kd1dc9w5.pubinterface(es-es,VS.90).gifIDeserializationCallbackIndica que una clase debe recibir una notificación cuando ha finalizado la deserialización de todo el gráfico de objetos.
kd1dc9w5.pubinterface(es-es,VS.90).gifIExtensibleDataObjectProporciona una estructura de datos para almacenar datos adicionales detectados por XmlObjectSerializer durante la deserialización de un tipo marcada con el atributo DataContractAttribute.
kd1dc9w5.pubinterface(es-es,VS.90).gifIFormatterProporciona funcionalidad para aplicar formato a los objetos serializados.
kd1dc9w5.pubinterface(es-es,VS.90).gifIFormatterConverterProporciona una conexión entre una instancia de SerializationInfo y la clase proporcionada por el formateador más adecuada para analizar los datos que contiene SerializationInfo.
kd1dc9w5.pubinterface(es-es,VS.90).gifIObjectReferenceIndica que el implementador de la interfaz actual es una referencia a otro objeto.
kd1dc9w5.pubinterface(es-es,VS.90).gifISerializablePermite que un objeto controle su propia serialización y deserialización.
kd1dc9w5.pubinterface(es-es,VS.90).gifISerializationSurrogateImplementa un selector de suplentes de serialización que permite que un objeto realice la serialización y deserialización de otro objeto.
kd1dc9w5.pubinterface(es-es,VS.90).gifISurrogateSelectorIndica una clase de selectores de suplentes de serialización.

  EnumeraciónDescripción
kd1dc9w5.pubenumeration(es-es,VS.90).gifStreamingContextStatesDefine un conjunto de identificadores que especifican el contexto de origen o destino para la secuencia durante la serialización.
Mostrar: