Types Supported by the Data Contract Serializer
Types marked with the SerializableAttribute attribute. Many types included in the .NET Framework base class library fall into this category. The DataContractSerializer fully supports this serialization programming model that was used by .NET Framework remoting,
the BinaryFormatter, and the SoapFormatter, including support for the ISerializable interface.