Dette er 100% den rigtige måde. Hvis en klasse udnytter IDisposable
den skal pakkes ind i en using
sætning for at sikre, at Dispose()
metode kaldes. Kommunikation med en ekstern teknologi - ikke-administreret på den måde - som SQL Server bør ikke tages let på. SqlCommand
objekt implementerer IDisposable
af en meget god grund. Koden nedenfor er Dispose()
metode til SqlCommand
objekt:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
og som du kan se, frigiver den en reference til _cachedMetaData
genstand, så den også kan blive ryddet op.