title: Could not create an instance of type X. Type is an interface or abstract class and cannot be instantiated
body: <p>Using version 7.0.1 Beta3, I'm trying to serialize/deserialize a complex POCO with properties that are arrays of abstract classes. These arrays could contain instance of classes that are derived from abstract ones.</p>
  
  <p>At serialization, everything seems OK. The Json fragment below shows that the type information is set correctly.</p>
  
  <p>The Json fragment:</p>
  
  <pre><code> "Items": 
   [
       {
           "$type": "IVXB_TS, ...",
           "inclusive": true,
           "value": "20091231"
       }
   ]
  </code></pre>
  
  <p>But a deserialization it fails with the following error:</p>
  
  <p><strong>Could not create an instance of type QTY. Type is an interface or abstract class and cannot be instantiated.</strong> </p>
  
  <p>The class hierarchy is the following :</p>
  
  <pre><code>[System.Xml.Serialization.XmlIncludeAttribute(typeof(IVXB_TS))]
  public abstract partial class ANY : object, System.ComponentModel.INotifyPropertyChanged
  {
  }
  
  [System.Xml.Serialization.XmlIncludeAttribute(typeof(IVXB_TS))]
  public abstract partial class QTY : ANY
  {
  }
  
  [System.Xml.Serialization.XmlIncludeAttribute(typeof(IVXB_TS))]
  public partial class TS : QTY
  {
  }
  
  public partial class IVXB_TS : TS
  {
  }
  </code></pre>
  
  <p>The Items property :</p>
  
  <pre><code>[System.Xml.Serialization.XmlElementAttribute("high", typeof(IVXB_TS))]
  [System.Xml.Serialization.XmlElementAttribute("low", typeof(IVXB_TS))]
  public QTY[] Items
  </code></pre>
  
  <p>The type information in the Json fragment seems to not be used. Is this a deserialization configuration issue?</p>