title: Ploeh AutoFixture was unable to create an instance from System.Runtime.Serialization.ExtensionDataObject
body: <p>We have an MVC project with references to WCF services. Those references added <code>(ExtensionDataObject)ExtensionData</code> property to every DTO and Response object and now <code>AutoFixture</code> fails to create anonymous instances of these types.</p>
  
  <p>Example:</p>
  
  <pre><code>public partial class SearchResultsDto : object, 
      System.Runtime.Serialization.IExtensibleDataObject, 
      System.ComponentModel.INotifyPropertyChanged {
  
      [System.NonSerializedAttribute()]
      private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
  
      [global::System.ComponentModel.BrowsableAttribute(false)]
      public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
          get {
                  return this.extensionDataField;
              }
          set {
                  this.extensionDataField = value;
              }
          }
      }
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>_fixture = new Fixture().Customize(new AutoMoqCustomization());
  var dto = _fixture.CreateAnonymous&lt;SearchResultsDto&gt;();
  </code></pre>
  
  <p>Exception:</p>
  
  <blockquote>
    <p>Ploeh.AutoFixture.ObjectCreationException:
    Ploeh.AutoFixture.ObjectCreationException: AutoFixture was unable to
    create an instance from
    System.Runtime.Serialization.ExtensionDataObject, most likely because
    it has no public constructor, is an abstract or non-public type..</p>
  </blockquote>
  
  <p>Question: Is there a way of registering this object within the AutoFixture, so that it instantiates it as <code>null</code> or anything else, which would let me do <code>CreateAnonymous</code> on all objects with <code>ExtensionData</code> property.</p>