<Type Name="MarshalByRefObject" FullName="System.MarshalByRefObject" FullNameSP="System_MarshalByRefObject" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public abstract serializable MarshalByRefObject extends System.Object" />
  <TypeSignature Language="C#" Value="public abstract class MarshalByRefObject" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
      <para> Enables access to objects across application
      domain boundaries
      in implementations that
      support remoting.</para>
    </summary>
    <remarks>
      <para>
        <block subset="none" type="note">An application
      domain is a partition in an OS process where one or more applications reside.
      Objects in the same application domain communicate directly. Objects that reside
      in different application domains communicate either by transporting copies of
      objects across application domain boundaries, or by exchanging messages via proxy.</block>
      </para>
      <para>
        <see cref="T:System.MarshalByRefObject" /> is the base class for objects that
   communicate across application domain boundaries by exchanging messages via a
   proxy. Objects that do not inherit from <see cref="T:System.MarshalByRefObject" /> are
   implicitly <paramref name="marshal by value" />. When a remote application references a
<paramref name="marshal by value" /> object, a copy of the object is passed across application domain boundaries.</para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected MarshalByRefObject ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateObjRef">
      <MemberSignature Language="C#" Value="public virtual System.Runtime.Remoting.ObjRef CreateObjRef (Type type);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Runtime.Remoting.ObjRef</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="type" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="type">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLifetimeService">
      <MemberSignature Language="C#" Value="public virtual object GetLifetimeService ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="InitializeLifetimeService">
      <MemberSignature Language="C#" Value="public virtual object InitializeLifetimeService ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
