Detta är 100% på rätt sätt. Om en klass utnyttjar IDisposable
den ska vara inslagen i en using
för att säkerställa att Dispose()
metod kallas. Vidare bör det inte tas lätt på att kommunicera med en utomstående teknologi - som inte hanteras som SQL Server. SqlCommand
objekt implementerar IDisposable
av en mycket god anledning. Koden nedan är Dispose()
metod för SqlCommand
objekt:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
och som du kan se släpper den en referens till _cachedMetaData
föremål så att det också kan städas upp.