﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IObjectReference" FullName="System.Runtime.Serialization.IObjectReference"><TypeSignature Maintainer="auto" Language="C#" Value="public interface IObjectReference" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IObjectReference" /><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>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Indicates that the current interface implementer is a reference to another object.</para></summary></Docs><Members><Member MemberName="GetRealObject"><MemberSignature Language="C#" Value="public object GetRealObject (System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object GetRealObject(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.Object</ReturnType></ReturnValue><Parameters><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is useful in a remoting situation where you serialize a proxy-creator object, not an actual object. When the proxy-creator object is deserialized, deserialization calls its <see cref="M:System.Runtime.Serialization.IObjectReference.GetRealObject(System.Runtime.Serialization.StreamingContext)" /> method. At this point, the proxy-creator object creates a new instance of the proxy object that refers back to the original actual object, perhaps on a remote computer. Finally, the proxy-creator object is discarded and reclaimed later by garbage collection.</para><para>For example, consider how <see cref="T:System.Type" /> objects are serialized. Instead of transmitting the data from the <see cref="T:System.Type" /> object, the system transmits a holder object with the name of the type object and information on the assembly where it is found in an object implementing <see cref="T:System.Runtime.Serialization.IObjectReference" />. When both the type name and assembly name are available, the deserialization infrastructure calls <see cref="M:System.Runtime.Serialization.IObjectReference.GetRealObject(System.Runtime.Serialization.StreamingContext)" /> on the holder object that has been transmitted. This holder returns the <see cref="T:System.Type" /> object that is inserted into the graph.</para><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 real object that should be deserialized, rather than the object that the serialized stream specifies.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the actual object that is put into the graph.</para></returns><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> from which the current object is deserialized. </param></Docs></Member></Members></Type>