title: C# Property with hard coded getter and setter
body: <p>I have a property defined as...</p>
  
  <pre><code>public List&lt;Obj&gt; Objs { get; set; }
  </code></pre>
  
  <p>What I would like to be able to do is to put some logic into the get method, so it would look something like...</p>
  
  <pre><code>public List&lt;Obj&gt; Objs
  {
      get
      {
          if (Objs == null)
          {
              Objs = new List&lt;Obj&gt;();
          }
          if (Objs.Count &lt; 1)
          {
              Objs.Add(new Obj());
          }
          return Objs;
      }
      set { Objs = value; }
  } 
  </code></pre>
  
  <p>Now when I do this I get an error telling me that the Function is recursive on all paths.</p>
  
  <p>Is there a way to do this without creating a private backing field?</p>