title: .getJson call not working with objects that use inheritence
body: <p>first post... Normally I'm able to search and find answers to my problems, but this time I am not able to. I have an object that uses a bunch of other objects:</p>
  
  <pre><code>[DataContract]
  public class CoolStuff
  {
      [DataMember]
      public Field[] CoolField { get; set; }
  
      public CoolStuff()
      {
          CoolField = SetCoolField();
      }
  
      private Field[] SetCoolField()
      {
          return new Field[]
          {
              new Field("Project Information", "ProjectInformation"),
              new Field("Resource Information", "ResourceInformation"),
          }
       }
  }
  
  [DataContract]
  public class Field
  {
      [DataMember]
      public string Prompt { get; set; }
      [DataMember]
      public string Value { get; set; }
      [DataMember]
      public bool IsLocked { get; set; }
  
      public Field(string prompt, string value = "n/a", bool isLocked = false)
      {
          Prompt = prompt;
          Value = value;
          IsLocked = isLocked;
      }
  }
  </code></pre>
  
  <p>I call my constructors from a service, and this works fine and dandy when I try to serialize it with $.getJSON(/Service.svc/coolstuff/' + id, loadCoolStuff);</p>
  
  <p>The problem is, when I make my Field class inherit from another class, that .getJson call fails without really giving me a reason why.</p>
  
  <pre><code>[DataContract]
  public class CoolStuff
  {
      [DataMember]
      public FieldBase[] CoolField { get; set; }
  
      public CoolStuff()
      {
          CoolField = SetCoolField();
      }
  
      private FieldBase[] SetCoolField()
      {
          return new FieldBase[]
          {
              new Field("Project Information", "ProjectInformation"),
              new Field("Resource Information", "ResourceInformation"),
          }
      }
  }
  
  [DataContract]
  public class FieldBase
  {
  
  }
  
  [DataContract]
  public class Field : FieldBase
  {
      [DataMember]
      public string Prompt { get; set; }
      [DataMember]
      public string Value { get; set; }
      [DataMember]
      public bool IsLocked { get; set; }
  
      public Field(string prompt, string value = "n/a", bool isLocked = false)
      {
          Prompt = prompt;
          Value = value;
          IsLocked = isLocked;
      }
  }
  </code></pre>
  
  <p>Can someone please explain why with ^ this code, my call to .getJSON fails? I'm really stuck here. Thanks so much!</p>