|
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
|
Traduction
Source
|
DataContractSerializer, classe
System.Runtime.Serialization.XmlObjectSerializer
System.Runtime.Serialization.DataContractSerializer
Assembly : System.Runtime.Serialization (dans System.Runtime.Serialization.dll)
Le type DataContractSerializer expose les membres suivants.
| Nom | Description | |
|---|---|---|
![]() ![]() | DataContractSerializer(Type) | |
![]() ![]() | DataContractSerializer(Type, IEnumerable<Type>) | |
![]() ![]() | DataContractSerializer(Type, String, String) | |
![]() ![]() | DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString) | |
![]() ![]() | DataContractSerializer(Type, String, String, IEnumerable<Type>) | |
![]() ![]() | DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>) | |
![]() | DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) | |
![]() | DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) | |
![]() | DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) | |
![]() | DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) | |
![]() | DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) | |
![]() | DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) |
| Nom | Description | |
|---|---|---|
![]() | DataContractResolver | |
![]() | DataContractSurrogate | |
![]() ![]() | IgnoreExtensionDataObject | |
![]() ![]() | KnownTypes | |
![]() ![]() | MaxItemsInObjectGraph | |
![]() ![]() | PreserveObjectReferences |
| Nom | Description | |
|---|---|---|
![]() ![]() | Equals(Object) | |
![]() ![]() | Finalize | |
![]() ![]() | GetHashCode | |
![]() ![]() | GetType | |
![]() ![]() | IsStartObject(XmlDictionaryReader) | |
![]() ![]() | IsStartObject(XmlReader) | |
![]() ![]() | MemberwiseClone | |
![]() ![]() | ReadObject(Stream) | |
![]() ![]() | ReadObject(XmlDictionaryReader) | |
![]() ![]() | ReadObject(XmlReader) | |
![]() ![]() | ReadObject(XmlDictionaryReader, Boolean) | |
![]() ![]() | ReadObject(XmlReader, Boolean) | |
![]() | ReadObject(XmlDictionaryReader, Boolean, DataContractResolver) | |
![]() ![]() | ToString | |
![]() ![]() | WriteEndObject(XmlDictionaryWriter) | |
![]() ![]() | WriteEndObject(XmlWriter) | |
![]() ![]() | WriteObject(Stream, Object) | |
![]() ![]() | WriteObject(XmlDictionaryWriter, Object) | |
![]() ![]() | WriteObject(XmlWriter, Object) | |
![]() | WriteObject(XmlDictionaryWriter, Object, DataContractResolver) | |
![]() ![]() | WriteObjectContent(XmlDictionaryWriter, Object) | |
![]() ![]() | WriteObjectContent(XmlWriter, Object) | |
![]() ![]() | WriteStartObject(XmlDictionaryWriter, Object) | |
![]() ![]() | WriteStartObject(XmlWriter, Object) |
Préparation de classes pour la sérialisation ou la désérialisation
Remarque |
|---|
Ajout à la collection des types connus
Remarque |
|---|
Compatibilité ascendante
Exécution en situation de confiance partielle
Si vous essayez de restreindre l'accès en confiance partielle en rendant le constructeur interne ou privé, ou en ajoutant un LinkDemand au constructeur, ni l'un ni l'autre n'ont d'effet pendant la désérialisation en confiance partielle. Si vous codez la classe qui suppose que le constructeur a été exécuté, la classe peut se retrouver en état interne non valide qui est exploitable.
namespace DataContractSerializerExample { using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using System.Xml; // You must apply a DataContractAttribute or SerializableAttribute // to a class to have it serialized by the DataContractSerializer. [DataContract(Name = "Customer", Namespace = "http://www.contoso.com")] class Person : IExtensibleDataObject { [DataMember()] public string FirstName; [DataMember] public string LastName; [DataMember()] public int ID; public Person(string newfName, string newLName, int newID) { FirstName = newfName; LastName = newLName; ID = newID; } private ExtensionDataObject extensionData_Value; public ExtensionDataObject ExtensionData { get { return extensionData_Value; } set { extensionData_Value = value; } } } public sealed class Test { private Test() { } public static void Main() { try { WriteObject("DataContractSerializerExample.xml"); ReadObject("DataContractSerializerExample.xml"); } catch (SerializationException serExc) { Console.WriteLine("Serialization Failed"); Console.WriteLine(serExc.Message); } catch (Exception exc) { Console.WriteLine( "The serialization operation failed: {0} StackTrace: {1}", exc.Message, exc.StackTrace); } finally { Console.WriteLine("Press <Enter> to exit...."); Console.ReadLine(); } } public static void WriteObject(string fileName) { Console.WriteLine( "Creating a Person object and serializing it."); Person p1 = new Person("Zighetti", "Barbara", 101); FileStream writer = new FileStream(fileName, FileMode.Create); DataContractSerializer ser = new DataContractSerializer(typeof(Person)); ser.WriteObject(writer, p1); writer.Close(); } public static void ReadObject(string fileName) { Console.WriteLine("Deserializing an instance of the object."); FileStream fs = new FileStream(fileName, FileMode.Open); XmlDictionaryReader reader = XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas()); DataContractSerializer ser = new DataContractSerializer(typeof(Person)); // Deserialize the data and read it from the instance. Person deserializedPerson = (Person)ser.ReadObject(reader, true); reader.Close(); fs.Close(); Console.WriteLine(String.Format("{0} {1}, ID: {2}", deserializedPerson.FirstName, deserializedPerson.LastName, deserializedPerson.ID)); } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

