title: "Read-only" public properties without setters/getters
body: <p>Does C# have such a feature (like Python's getter-only pattern)?</p>
  
  <pre><code>class A 
  {
     public [read-only] Int32 A_;
  
     public A() 
     {
        this.A_ = new Int32();
     }
  
     public A method1(Int32 param1) 
     {
        this.A_ = param1;
        return this;
     }
  }
  
  class B 
  {
     public B() 
     {
        A inst = new A().method1(123);
        Int32 number = A.A_; // okay
        A.A_ = 456;          // should throw a compiler exception
     }
  }
  </code></pre>
  
  <p>To obtain this I could use the private modifier on the A_ property, and only implement a getter method. Doing so, in order to access that property I should always make a call to the getter method... is it avoidable?</p>