title: Force use members over fields
body: <p>Is there a way to force usage of properties instead of private backing fields?</p>
  
  <p>For example:</p>
  
  <pre><code> //field
  private string str;
  
  // property
  public string Str
  {
    get { return this.str; }
    set { this.str = value; DoSomething(); }
  }
  </code></pre>
  
  <p>Both members need to have read rights however only property should have write rights. How to achive that?</p>
  
  <p>EDIT: I was talking about access rights inside the class. Not from outside.</p>