This interface defines the basic serialization and deserialization functionality for a formatter. Its three properties determine the SerializationBinder , StreamingContext , and SurrogateSelector of the formatter. It also defines the two basic methods of Serialize( ) and Deserialize( ) . public interface IFormatter { // Public Instance Properties public SerializationBinder Binder {set; get; } public StreamingContext Context {set; get; } public ISurrogateSelector SurrogateSelector {set; get; } // Public Instance Methods public object Deserialize (System.IO.Stream serializationStream ); public void Serialize (System.IO.Stream serializationStream , object graph ); } Implemented ByFormatter , System.Runtime.Serialization.Formatters.Binary.BinaryFormatter , System.Runtime.Serialization.Formatters.Soap.SoapFormatter |