Esta es 100% la forma correcta. Si una clase aprovecha IDisposable
debe estar envuelto en un using
para asegurarse de que Dispose()
se llama el método. Además, la comunicación con una tecnología externa, no administrada, como SQL Server, no debe tomarse a la ligera. El SqlCommand
objeto implementa IDisposable
por una muy buena razón. El siguiente código es el Dispose()
método para SqlCommand
objeto:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
y como puede ver, está publicando una referencia a _cachedMetaData
objeto para que también pueda limpiarse.