title: Access to different object properties through an interface? C#
body: <p>I am programming a dll with a factory pattern on C#. The factory receive an enum and return an interface. Depending on the received enum it create different objects and return it encapsulated in the interface. Any class inside the factory implements the interface and its access modifier is internal, except the own interface which is public. </p>
  
  <p>The problem is when i call the dll from the main project. Each object created inside the factory has different properties and do not why i can not access or modify those properties from the main. Some help?</p>
  
  <p>this is the Factory call from the main.</p>
  
  <p><code>IConfigurator config = ConfigFactory.Instance.CreateConfigurator(Model.First);</code></p>
  
  <p>This is how the factory works (inside the dll):</p>
  
  <pre><code>public IConfigurator CreateConfigurator(Model model)
      {
          switch (model)
          {
              case Model.First:
                  return (First)new First(model);
  
              case Model.Second:
                  return (Second)new Second(model);
  
              case Model.Third:
                  return (Third)new Third(model);
  
          }
  
      }
  </code></pre>
  
  <p>First, Second and Third has different properties and i am not able to modify it from the interface object received</p>
  
  <p>Thanks.</p>