﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ObjRef" FullName="System.Runtime.Remoting.ObjRef"><TypeSignature Maintainer="auto" Language="C#" Value="public class ObjRef : System.Runtime.Serialization.IObjectReference, System.Runtime.Serialization.ISerializable" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit ObjRef extends System.Object implements class System.Runtime.Serialization.IObjectReference, class System.Runtime.Serialization.ISerializable" /><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.IObjectReference</InterfaceName></Interface><Interface><InterfaceName>System.Runtime.Serialization.ISerializable</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 <see cref="T:System.Runtime.Remoting.ObjRef" /> is a serializable representation of an object that extends <see cref="T:System.MarshalByRefObject" /> (MBR). A <see cref="T:System.Runtime.Remoting.ObjRef" /> is used to transfer an object reference across a <see cref="T:System.AppDomain" /> boundary. Creating a <see cref="T:System.Runtime.Remoting.ObjRef" /> for an object is known as marshaling. You can create a <see cref="T:System.Runtime.Remoting.ObjRef" /> (marshal a <see cref="T:System.MarshalByRefObject" />) either explicitly, by registering the MBR object with the remoting infrastructure (see <see cref="T:System.Runtime.Remoting.RemotingConfiguration" /> and <see cref="M:System.Runtime.Remoting.RemotingServices.Marshal(System.MarshalByRefObject)" />), or implicitly, by passing an MBR object as a parameter when calling a remote object. Remoting uses <see cref="T:System.Runtime.Remoting.ObjRef" /> objects to store and transmit all the relevant information about the <see cref="T:System.MarshalByRefObject" /> being remoted.</para><para>The <see cref="T:System.Runtime.Remoting.ObjRef" /> contains information that describes the <see cref="T:System.Type" /> and class of the object being marshaled, its exact location, and communication-related information on how to reach the remoting subdivision where the object is located.</para><para>After a class implementing <see cref="T:System.MarshalByRefObject" /> is marshaled, the <see cref="T:System.Runtime.Remoting.ObjRef" /> that represents it is transferred through a channel into another application domain, possibly in another process or computer. When the <see cref="T:System.Runtime.Remoting.ObjRef" /> is deserialized (see <format type="text/html"><a href="832AC524-21BC-419A-A27B-CA8BFC45840F">[&lt;topic://cpconserialization&gt;]</a></format>) in the target application domain, it is parsed to create a transparent proxy for the remote MBR object. This operation is known as unmarshaling.</para><para>A transparent proxy is an object that provides the illusion that the actual object resides in the client's space. It achieves this by forwarding calls made on it to the real object using the remoting infrastructure. The transparent proxy is itself housed by an instance of a managed run-time class of type <see cref="T:System.Runtime.Remoting.Proxies.RealProxy" />. The <see cref="T:System.Runtime.Remoting.Proxies.RealProxy" /> implements a part of the functionality needed to forward the operations from the transparent proxy.</para><para>A proxy object can be used without regard to any remoting subdivisions within a <see cref="T:System.AppDomain" />. Applications need not distinguish between proxy references and object references. However, service providers dealing with issues such as activation, lifetime management, and transactions need to make such distinctions.</para><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></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Stores all relevant information required to generate a proxy in order to communicate with a remote object.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ObjRef ();" /><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.ObjRef" /> class with default values.</para></summary></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ObjRef (MarshalByRefObject o, Type requestedType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.MarshalByRefObject o, class System.Type requestedType) 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><Parameter Name="o" Type="System.MarshalByRefObject" /><Parameter Name="requestedType" Type="System.Type" /></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.ObjRef" /> class to reference a specified <see cref="T:System.MarshalByRefObject" /> of a specified <see cref="T:System.Type" />.</para></summary><param name="o"><attribution license="cc4" from="Microsoft" modified="false" />The object that the new <see cref="T:System.Runtime.Remoting.ObjRef" /> instance will reference. </param><param name="requestedType"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of the object that the new <see cref="T:System.Runtime.Remoting.ObjRef" /> instance will reference. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected ObjRef (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) 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><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor is called during deserialization to reconstitute the exception object transmitted over a stream. For more information, see <see cref="T:System.Runtime.Serialization.ISerializable" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Runtime.Remoting.ObjRef" /> class from serialized data.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The object that holds the serialized object data. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The contextual information about the source or destination of the exception. </param></Docs></Member><Member MemberName="ChannelInfo"><MemberSignature Language="C#" Value="public virtual System.Runtime.Remoting.IChannelInfo ChannelInfo { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Remoting.IChannelInfo ChannelInfo" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>get: System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Runtime.Remoting.IChannelInfo</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>To be added: an object of type 'IChannelInfo'</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current property holds information contributed by active channels in the process, when the <see cref="T:System.Runtime.Remoting.ObjRef" /> is created (see <see cref="M:System.Runtime.Remoting.RemotingServices.Marshal(System.MarshalByRefObject)" /> for details on marshaling). This information can be used by the channels in other processes or application domains to decide whether or not to create a transport sink to communicate with the object represented by the current instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the <see cref="T:System.Runtime.Remoting.IChannelInfo" /> for the <see cref="T:System.Runtime.Remoting.ObjRef" />.</para></summary></Docs></Member><Member MemberName="EnvoyInfo"><MemberSignature Language="C#" Value="public virtual System.Runtime.Remoting.IEnvoyInfo EnvoyInfo { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Remoting.IEnvoyInfo EnvoyInfo" /><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.IEnvoyInfo</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>To be added: an object of type 'IEnvoyInfo'</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current property contains a serialized chain of message sinks that gets regenerated when a proxy is created to represent the object. This is used for <see cref="T:System.Runtime.Remoting.Contexts.Context" /> bound object types only, and represents the groups of objects that provide such run-time services as transactions.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the <see cref="T:System.Runtime.Remoting.IEnvoyInfo" /> for the <see cref="T:System.Runtime.Remoting.ObjRef" />.</para></summary></Docs></Member><Member MemberName="GetObjectData"><MemberSignature Language="C#" Value="public virtual void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo info, 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="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current method fills the provided <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with all the data needed to recreate the <see cref="T:System.Runtime.Remoting.ObjRef" />.</para><para>The current method is an implementation of <see cref="M:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Populates a specified <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the data needed to serialize the current <see cref="T:System.Runtime.Remoting.ObjRef" /> instance.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The contextual information about the source or destination of the serialization. </param></Docs></Member><Member MemberName="GetRealObject"><MemberSignature Language="C#" Value="public virtual 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>The current method is called during the fix-up stage of deserialization.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a reference to the remote object that the <see cref="T:System.Runtime.Remoting.ObjRef" /> describes.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A reference to the remote object that the <see cref="T:System.Runtime.Remoting.ObjRef" /> describes.</para></returns><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The context where the current object resides. </param></Docs></Member><Member MemberName="IsFromThisAppDomain"><MemberSignature Language="C#" Value="public bool IsFromThisAppDomain ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsFromThisAppDomain() 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.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a Boolean value that indicates whether the current <see cref="T:System.Runtime.Remoting.ObjRef" /> instance references an object located in the current <see cref="T:System.AppDomain" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A Boolean value that indicates whether the current <see cref="T:System.Runtime.Remoting.ObjRef" /> instance references an object located in the current <see cref="T:System.AppDomain" />.</para></returns></Docs></Member><Member MemberName="IsFromThisProcess"><MemberSignature Language="C#" Value="public bool IsFromThisProcess ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsFromThisProcess() 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><Attributes><Attribute><AttributeName>System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a Boolean value that indicates whether the current <see cref="T:System.Runtime.Remoting.ObjRef" /> instance references an object located in the current process.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A Boolean value that indicates whether the current <see cref="T:System.Runtime.Remoting.ObjRef" /> instance references an object located in the current process.</para></returns></Docs></Member><Member MemberName="TypeInfo"><MemberSignature Language="C#" Value="public virtual System.Runtime.Remoting.IRemotingTypeInfo TypeInfo { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Remoting.IRemotingTypeInfo TypeInfo" /><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.IRemotingTypeInfo</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>To be added: an object of type 'IRemotingTypeInfo'</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="P:System.Runtime.Remoting.ObjRef.TypeInfo" /> contains detailed information about the type of remote object represented by the current <see cref="T:System.Runtime.Remoting.ObjRef" />. The current property contains a list of interfaces that the type implements, as well as the type hierarchy. This information might be used to refine the proxy incrementally to adjust to the client's view of the remote object's type.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the <see cref="T:System.Runtime.Remoting.IRemotingTypeInfo" /> for the object that the <see cref="T:System.Runtime.Remoting.ObjRef" /> describes.</para></summary></Docs></Member><Member MemberName="URI"><MemberSignature Language="C#" Value="public virtual string URI { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string URI" /><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.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>To be added: an object of type 'string'</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A URI uniquely identifies the specific object instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the URI of the specific object instance.</para></summary></Docs></Member></Members></Type>