title: overloading explicit CAST operator
body: <p>I have this piece of code:</p>
  
  <pre><code>public class Leg : ProxiestChild
  {
      public virtual Name { get; set; }
  }
  </code></pre>
  
  <p>the problem is:</p>
  
  <pre><code>var leg = new Leg(); // leg is not Leg, instead ProxiedLeg
  
  var trueleg = (Leg)leg; // exception leg is a ProxiedLeg
  </code></pre>
  
  <p>i need something like this</p>
  
  <pre><code>public class ProxiestChild
  {
      // some method that overloads explicit CAST
      // where receiving the proxied object i returns the unproxied object
      // to be casted
  }
  </code></pre>