Das ist zu 100% der richtige Weg. Wenn eine Klasse IDisposable
nutzt es sollte in using
eingeschlossen werden -Anweisung, um sicherzustellen, dass die Dispose()
Methode aufgerufen wird. Darüber hinaus sollte die Kommunikation mit einer – noch dazu nicht verwalteten – externen Technologie wie SQL Server nicht auf die leichte Schulter genommen werden. Der SqlCommand
Objekt implementiert IDisposable
aus einem sehr guten Grund. Der folgende Code ist Dispose()
Methode für den SqlCommand
Objekt:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
und wie Sie sehen können, gibt es einen Verweis auf _cachedMetaData
frei Objekt, damit auch es bereinigt werden kann.