title: C# Auto Property - Is this 'pattern' best practice?
body: <p>I seem to be using this sort of pattern in my code a lot , I know that it is not a simple Autoproperty any more as that would be:</p>
  
  <pre><code>  public IList&lt;BCSFilter&gt; BCSFilters { get; set; }
  </code></pre>
  
  <p>The code I have been using is this:</p>
  
  <pre><code>    private IList&lt;BCSFilter&gt; _BCSFilters;
  
      /// &lt;summary&gt;
      /// Gets or sets the BCS filters.
      /// &lt;/summary&gt;
      /// &lt;value&gt;The BCS filters.&lt;/value&gt;
      public IList&lt;BCSFilter&gt; BCSFilters
      {
          get
          {
              if (_BCSFilters == null)
              {
                  _BCSFilters = new List&lt;BCSFilter&gt;();
              }
  
              return _BCSFilters;
          }
          set
          {
              _BCSFilters = value;
          }
      }
  </code></pre>
  
  <p>This is so I can just do MainClass.BCSFilters and not worry about needing to instantiate the List in the consuming code. Is this a 'normal' pattern \ the correct way to do this?</p>
  
  <p>I couldn't find a duplicate question</p>