title: How to deserialize when only interface is available?
body: <p>I have three components:</p>
  
  <ul>
  <li>utility library (Processor.dll): Only knows about Element library</li>
  <li>Element library (IElement): Doesn't know about any library</li>
  <li>App: Knows about both libraries</li>
  </ul>
  
  <p>App calls the Processor library and passes it a class of type:</p>
  
  <pre><code>ClassA : IElement
  </code></pre>
  
  <p>ClassA is serialized before being passed to Processor.  Processor is a base library and does not know about class types such as ClassA.  It does know about IElement however.  Processor will deserialize the IElement passed to it, which is of type ClassA. </p>
  
  <p>The issue is that an interface cannot be deserialized.  But Processor does not know about ClassA and should not.  How can I get a reference to the passed in object in this case?</p>