title: Is there a technical reason why an automatic property must define both a get and set accessor
body: <p>I know that automatic properties must define a get and set accessor method, I also know that it is possible for either of these accessors to be made invisible by means of an access modifier.</p>
  
  <p>Is there a technical reason why the compiler is happy with</p>
  
  <pre><code>public object Property { get; set; }
  </code></pre>
  
  <p>but not</p>
  
  <pre><code>public object Property { get; }
  </code></pre>
  
  <p>My (possibly wrong) understanding of this code is that the compiler generates a backing field that is hidden from the calling code like so:</p>
  
  <pre><code>private object hiddenField; //hidden by compiler.
  
  public object Property
  
  {
  
  get { return hiddenField; }
  
  set { hiddenField = value;}
  
  }
  </code></pre>
  
  <p>If the compiler can generate that, is there a reason that it can't omit the set accessor function based on the presence (or lack thereof) of a setter in the property declaration.</p>
  
  <p>I understand that this may be an issue of feature scope rather than a technical limitation, I also freely admit that I have not yet consulted the C# language specification as yet.</p>
  
  <p>[<strong>UPDATE 2</strong>]</p>
  
  <p>Forgive me...I'm an idiot :P, I see now, thank you everyone for tollerating my senior moment/</p>