2 // System.Runtime.Serialization.ISurrogateSelector
\r
5 // David Dawkins (david@dawkins.st)
\r
10 namespace System.Runtime.Serialization {
\r
13 /// Creation of serialization surrogate selectors</summary>
\r
14 public interface ISurrogateSelector {
\r
17 /// Insert specified selector into available surrogates</summary>
\r
18 void ChainSelector( ISurrogateSelector selector );
\r
21 /// Return next surrogate in the surrogate chain</summary>
\r
22 ISurrogateSelector GetNextSelector();
\r
25 /// Fetch the surrogate according the specified type, starting
\r
26 /// the search from the surrogate selector for the specified
\r
27 /// StreamingContext</summary>
\r
28 /// <param name="type">Type of the object to be serialized</param>
\r
29 /// <param name="context">Context for the serialization/deserialization</para,>
\r
30 /// <param name="selector">Upon return, contains a reference to the selector where the returned surrogate was found</param>
\r
31 /// <returns>The surrogate for the specified type and context</returns>
\r
32 ISerializationSurrogate GetSurrogate(
\r
34 StreamingContext context,
\r
35 out ISurrogateSelector selector
\r