﻿<?xml version="1.0" encoding="utf-8"?><Type Name="SurrogateSelector" FullName="System.Runtime.Serialization.SurrogateSelector"><TypeSignature Maintainer="auto" Language="C#" Value="public class SurrogateSelector : System.Runtime.Serialization.ISurrogateSelector" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SurrogateSelector extends System.Object implements class System.Runtime.Serialization.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><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Runtime.Serialization.ISurrogateSelector</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A serialization surrogate gives the users an object that can handle the serialization requirements of a different object and can transform the serialized data if necessary.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Assists formatters in selection of the serialization surrogate to delegate the serialization or deserialization process to.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public SurrogateSelector ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.SurrogateSelector" /> class.</para></summary></Docs></Member><Member MemberName="AddSurrogate"><MemberSignature Language="C#" Value="public virtual void AddSurrogate (Type type, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.ISerializationSurrogate surrogate);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddSurrogate(class System.Type type, valuetype System.Runtime.Serialization.StreamingContext context, class System.Runtime.Serialization.ISerializationSurrogate surrogate) 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="type" Type="System.Type" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /><Parameter Name="surrogate" Type="System.Runtime.Serialization.ISerializationSurrogate" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds a surrogate to the list of checked surrogates.</para></summary><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> for which the surrogate is required.</param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The context-specific data. </param><param name="surrogate"><attribution license="cc4" from="Microsoft" modified="false" />The surrogate to call for this type. </param></Docs></Member><Member MemberName="ChainSelector"><MemberSignature Language="C#" Value="public virtual 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>The last selector added to the list will be the first one checked.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> that can handle a particular object type to the list of surrogates.</para></summary><param name="selector"><attribution license="cc4" from="Microsoft" modified="false" />The surrogate selector to add. </param></Docs></Member><Member MemberName="GetNextSelector"><MemberSignature Language="C#" Value="public virtual 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>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the next selector on the chain of selectors.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> on the chain of selectors.</para></returns></Docs></Member><Member MemberName="GetSurrogate"><MemberSignature Language="C#" Value="public virtual 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><Member MemberName="RemoveSurrogate"><MemberSignature Language="C#" Value="public virtual void RemoveSurrogate (Type type, System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveSurrogate(class System.Type type, valuetype System.Runtime.Serialization.StreamingContext context) 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="type" Type="System.Type" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method does not check chained surrogates.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the surrogate associated with a given type.</para></summary><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> for which to remove the surrogate. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> for the current surrogate. </param></Docs></Member></Members></Type>