﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ISurrogateSelector" FullName="System.Runtime.Serialization.ISurrogateSelector"><TypeSignature Maintainer="auto" Language="C#" Value="public interface ISurrogateSelector" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISurrogateSelector" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Surrogate selectors implement the <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> interface to assist formatters in selecting surrogates to delegate to the serialization or deserialization of other objects.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Indicates a serialization surrogate selector class.</para></summary></Docs><Members><Member MemberName="ChainSelector"><MemberSignature Language="C#" Value="public void ChainSelector (System.Runtime.Serialization.ISurrogateSelector selector);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ChainSelector(class System.Runtime.Serialization.ISurrogateSelector selector) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="selector" Type="System.Runtime.Serialization.ISurrogateSelector" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is protected by a <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" /> for the <see cref="T:System.Security.Permissions.SecurityPermission" /> with the <see cref="F:System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter" /> specified.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies the next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> for surrogates to examine if the current instance does not have a surrogate for the specified type and assembly in the specified context.</para></summary><param name="selector"><attribution license="cc4" from="Microsoft" modified="false" />The next surrogate selector to examine. </param></Docs></Member><Member MemberName="GetNextSelector"><MemberSignature Language="C#" Value="public System.Runtime.Serialization.ISurrogateSelector GetNextSelector ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Runtime.Serialization.ISurrogateSelector GetNextSelector() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Runtime.Serialization.ISurrogateSelector</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is protected by a <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" /> for the <see cref="T:System.Security.Permissions.SecurityPermission" /> with the <see cref="F:System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter" /> specified.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the next surrogate selector in the chain.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The next surrogate selector in the chain or null.</para></returns></Docs></Member><Member MemberName="GetSurrogate"><MemberSignature Language="C#" Value="public System.Runtime.Serialization.ISerializationSurrogate GetSurrogate (Type type, System.Runtime.Serialization.StreamingContext context, out System.Runtime.Serialization.ISurrogateSelector selector);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Runtime.Serialization.ISerializationSurrogate GetSurrogate(class System.Type type, valuetype System.Runtime.Serialization.StreamingContext context, class System.Runtime.Serialization.ISurrogateSelector selector) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Runtime.Serialization.ISerializationSurrogate</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /><Parameter Name="selector" Type="System.Runtime.Serialization.ISurrogateSelector&amp;" RefType="out" /></Parameters><Docs><param name="type">To be added: an object of type 'Type'</param><param name="context">To be added: an object of type 'StreamingContext'</param><param name="selector">To be added: an object of type 'ISurrogateSelector&amp;'</param><summary>To be added</summary><returns>To be added: an object of type 'ISerializationSurrogate'</returns><remarks>To be added</remarks></Docs></Member></Members></Type>