title: Property with private field doesn't get deserialized?
body: <p>When I write a class like this, it gets serialized/deserialized perfectly.</p>
  
  <pre><code>[Serializable]
  public class Post
  {
      public string Subject { get; set; }
  }
  </code></pre>
  
  <p>When I use a private field however, deserialization of existing data fails. The following class no longer deserializes the subject</p>
  
  <pre><code>[Serializable]
  public class Post
  {
      private string subj;
      public string Subject { get { return subj; } set { subj = value; } }
  } 
  </code></pre>
  
  <p>I'm using the following piece of code </p>
  
  <pre><code>var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
  bformatter.Serialize(stream, posts); 
  </code></pre>
  
  <p>and vice versa.</p>
  
  <p>Can anybody explain why this happens?</p>