title: Code Analysis Warning CA2213 - Call Dispose() on IDisposable backing field
body: <p>Wanted to post this, even though I figured it out as I was writing the question.  Will post answer below.</p>
  
  <p>Getting the following warning with VS Code Analysis:</p>
  
  <blockquote>
    <p>Warning   CA2213  'DBConn' contains field 'DBConn.k__BackingField' that is of IDisposable type: 'SqlConnection'. Change the Dispose method on 'DBConn' to call Dispose or Close on this field.</p>
  </blockquote>
  
  <p>But my code <strong>does</strong> call Dispose() on the DBConn property.  Does it not on the backing field?  I have other instances like this - where I am disposing of where the compiler does not throw this warning.  This is the code below:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Data.SqlClient;    
  
  namespace TheProgramSpace
  {
      public sealed class DBConn : IDisposable
      {
          // class containing the database and its connection
          public SqlConnection TheConn { get; }
          public string DbPath { get; }
          public string DbName { get; }
  
  
          public DBConn(ProgInstance FPI)
          {
              // constructs new SQLConnection            
              DbPath = FPI.dbPath;
              DbName = FPI.dbName;
  
              string connString = "Data Source = " + DbPath + "; Initial Catalog =" + DbName + "; Integrated Security = True; "
                + "Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; "
                + "ApplicationIntent = ReadWrite; MultiSubnetFailover = False";                     
  
              TheConn = new SqlConnection(connString);
  
          }
  
          public void Dispose()
          {            
              TheConn.Dispose();            
          }
      }
  }
  </code></pre>