﻿<?xml version="1.0" encoding="utf-8"?><Type Name="RemotingSurrogateSelector" FullName="System.Runtime.Remoting.Messaging.RemotingSurrogateSelector"><TypeSignature Maintainer="auto" Language="C#" Value="public class RemotingSurrogateSelector : System.Runtime.Serialization.ISurrogateSelector" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RemotingSurrogateSelector 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 surrogate is an object that can handle the serialization requirements of an object. Remoting surrogates handle remoting serialization requirements of objects that derive from <see cref="T:System.MarshalByRefObject" />. The <see cref="T:System.Runtime.Remoting.Messaging.RemotingSurrogateSelector" /> manages registered surrogates for use by the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> and <see cref="T:System.Runtime.Serialization.Formatters.Soap.SoapFormatter" />.</para><para>During serialization for remoting purposes of a <see cref="T:System.MarshalByRefObject" />, the remoting surrogate creates an <see cref="T:System.Runtime.Remoting.ObjRef" /> that contains all the relevant information required to activate and communicate with the remote object. The newly created <see cref="T:System.Runtime.Remoting.ObjRef" /> can then be sent to a remote location and used to create a proxy.</para><block subset="none" type="note"><para>This class makes a link demand and an inheritance demand at the class level. A <see cref="T:System.Security.SecurityException" /> is thrown when either the immediate caller or the derived class does not have infrastructure permission. For details about security demands, see <format type="text/html"><a href="A33FD5F9-2DE9-4653-A4F0-D9DF25082C4D">[&lt;topic://cpconLinkDemands&gt;]</a></format> and <format type="text/html"><a href="28B9ADBB-8F08-4F10-B856-DBF59EB932D9">[&lt;topic://cpconInheritanceDemands&gt;]</a></format>.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Selects the remoting surrogate that can be used to serialize an object that derives from a <see cref="T:System.MarshalByRefObject" />.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public RemotingSurrogateSelector ();" /><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.Remoting.Messaging.RemotingSurrogateSelector" /> class.</para></summary></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>Remoting surrogates are arranged in chains that are attached to an instance of the <see cref="T:System.Runtime.Remoting.Messaging.RemotingSurrogateSelector" />. Each chain contains the remoting surrogates that the surrogate selector checks to find a compatible surrogate for a given object type. The current method adds a new remoting surrogate selector to the surrogate chain that is examined for compatible surrogates.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> to the surrogate selector chain.</para></summary><param name="selector"><attribution license="cc4" from="Microsoft" modified="false" />The next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> to examine. </param></Docs></Member><Member MemberName="Filter"><MemberSignature Language="C#" Value="public System.Runtime.Remoting.Messaging.MessageSurrogateFilter Filter { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Remoting.Messaging.MessageSurrogateFilter Filter" /><MemberType>Property</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.Remoting.Messaging.MessageSurrogateFilter</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the <see cref="T:System.Runtime.Remoting.Messaging.MessageSurrogateFilter" /> delegate for the current instance of the <see cref="T:System.Runtime.Remoting.Messaging.RemotingSurrogateSelector" />.</para></summary></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 <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> in the chain of surrogate selectors.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> in the chain of surrogate selectors.</para></returns></Docs></Member><Member MemberName="GetRootObject"><MemberSignature Language="C#" Value="public object GetRootObject ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance object GetRootObject() 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.Object</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the object at the root of the object graph.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The object at the root of the object graph.</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 ssout);" /><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 ssout) 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="ssout" 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 'Runtime.Serialization.StreamingContext'</param><param name="ssout">To be added: an object of type 'Runtime.Serialization.ISurrogateSelector&amp;'</param><summary>To be added</summary><returns>To be added: an object of type 'Runtime.Serialization.ISerializationSurrogate'</returns><remarks>To be added</remarks></Docs></Member><Member MemberName="SetRootObject"><MemberSignature Language="C#" Value="public void SetRootObject (object obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetRootObject(object obj) 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="obj" Type="System.Object" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the object at the root of the object graph.</para></summary><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />The object at the root of the object graph. </param></Docs></Member><Member MemberName="UseSoapFormat"><MemberSignature Language="C#" Value="public virtual void UseSoapFormat ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UseSoapFormat() 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 /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current method is used with the SOAP formatter sinks.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets up the current surrogate selector to use the SOAP format.</para></summary></Docs></Member></Members></Type>