title: Transparent proxy to original type
body: <p>I have an run time object of type {System.Runtime.Remoting.Proxies.__TransparentProxy} which is created from an instance of class which is inherited from ContextBoundObject. This class raise an event to some other object, I need to convert this proxy object to original object. All objects are in default AppDomain on single system. </p>
  
  <pre><code>public abstract class ObjectBase : ContextBoundObject, IObjectBase
  {
  }
  
  public IMessageSink GetObjectSink(MarshalByRefObject o, IMessageSink next)
          {
              _context = (ObjectBase)o;// as ObjectBase; does not give any error but type remains 
  /// transparent proxy in VS watch window.
  // no property to get the  underlying type of the proxy
               return _aspect;
          }
  </code></pre>
  
  <p>How to convert them into original object? Why proxy is cretaed if running on same memory</p>