// // System.Runtime.Serialization.ISurrogateSelector // // Author: // David Dawkins (david@dawkins.st) // // (C) David Dawkins // namespace System.Runtime.Serialization { /// /// Creation of serialization surrogate selectors public interface ISurrogateSelector { /// /// Insert specified selector into available surrogates void ChainSelector( ISurrogateSelector selector ); /// /// Return next surrogate in the surrogate chain ISurrogateSelector GetNextSelector(); /// /// Fetch the surrogate according the specified type, starting /// the search from the surrogate selector for the specified /// StreamingContext /// Type of the object to be serialized /// Context for the serialization/deserialization /// Upon return, contains a reference to the selector where the returned surrogate was found /// The surrogate for the specified type and context ISerializationSurrogate GetSurrogate( Type type, StreamingContext context, out ISurrogateSelector selector ); } }