This interface is implemented by classes that help the formatter decide the appropriate surrogate to serialize or deserialize a particular type. public interface ISurrogateSelector { // Public Instance Methods public void ChainSelector (ISurrogateSelector selector ); public ISurrogateSelector GetNextSelector ( ); public ISerializationSurrogate GetSurrogate (Type type , StreamingContext context , out ISurrogateSelector selector ); } Implemented BySurrogateSelector Returned ByFormatter.SurrogateSelector , System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.SurrogateSelector , System.Runtime.Serialization.Formatters.Soap.SoapFormatter.SurrogateSelector , IFormatter.SurrogateSelector , SurrogateSelector.GetNextSelector( ) Passed ToFormatter.SurrogateSelector , System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.{BinaryFormatter( ) , SurrogateSelector} , System.Runtime.Serialization.Formatters.Soap.SoapFormatter.{SoapFormatter( ) , SurrogateSelector} , IFormatter.SurrogateSelector , ISerializationSurrogate.SetObjectData( ) , ObjectManager.ObjectManager( ) , SurrogateSelector.{ChainSelector( ) , GetSurrogate( )} |