title: How use Moles for a constructor?
body: <p>I have a class like this:</p>
  
  <pre><code>public class Product : IProduct
  {
      static private string _defaultName = "default";
      private string _name;
      private float _price;
      /// Constructor
      public Product()
      {
          _price = 10.0F;
      }
      public void ModifyPrice(float modifier)
      {
          _price = _price * modifier;
      }  
  </code></pre>
  
  <p>I want <em>ModifyPrice</em> to do nothing for a specific value, but I also want to call the constructor that set the price to 10. I tried something like this:</p>
  
  <pre><code>var fake = new SProduct() { CallBase = true };
  var mole = new MProduct(fake)
      {
          ModifyPriceSingle = (actual) =&gt;
          {
              if (actual != 20.0f)
              {
                  MolesContext.ExecuteWithoutMoles(() =&gt; fake.ModifyPrice(actual));
              }
          }
      };
  MProduct.Constructor = (@this) =&gt; (@this) = fake;
  </code></pre>
  
  <p>But even if <em>fake</em> is well-initialized with the good constructor, I can't assign it to @this. I also try something like</p>
  
  <pre><code>MProduct.Constructor = (@this) =&gt; { var mole = new MProduct(@this)... };
  </code></pre>
  
  <p>But this time I cannot call my constructor. How am I supposed to do?</p>