title: Design Patterns question
body: <p>I have a following problem I want to solve ellegantly:</p>
  
  <pre><code>public interface IMyclass
  {
  } 
  public class A
  {
     public void Init(IMyclass class){?}
     public IMyclass CreateMyClass(){?}
  }
  </code></pre>
  
  <p>At the start of the system I want to define dynamic type of IMyClass by using Init() and during the run of the system i would like to create new instances of the type I defined at init.
  <br>
  <br>
  Notes:
  <br>1. IMyclass must be interface
  <br>2. The dynamic type of IMyclass known only at init (i have no constructor after :) )
  <br>3. I could do it using a reflection or definition method clone at IMyclass is there any better solutions?</p>
  
  <p>Thank you.</p>