When applied to the member of a type, specifies that the member is part of a data contract and is serializable by the DataContractSerializer.
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
Apply the attribute in conjunction with the DataContractAttribute to identify members of a type that are part of a data contract. One of the serializers that can serialize data contracts is the DataContractSerializer.
The data contract model is an "opt-in" model. Applying the to a field or property explicitly specifies that the member value will be serialized. In contrast, the BinaryFormatter serializes public and private fields of a type, and the XmlSerializer serializes only public fields and properties of a type.
You can apply the to private fields or properties. Be aware that the data returned by the member (even if it private) will be serialized and deserialized, and thus can be viewed or intercepted by a malicious user or process.
By default, the CLR member name is used as the name of the data member. By setting the Name property, you can customize the name of the data member. This can be used to provide a name that may not be allowed as a CLR member name. When mapping to XML using the DataContractSerializer, this name is used as the name of the schema element in a type.
Properties to which the attribute has been applied must have both get and set fields; they cannot be get-only or set-only.
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.