Toto je 100% správný způsob. Pokud třída využívá IDisposable
měl by být zabalen do using
příkazem zajistit, že Dispose()
se nazývá metoda. Komunikace s externí technologií – v takovém případě nespravovanou – jako je SQL Server, by se navíc neměla brát na lehkou váhu. SqlCommand
objekt implementuje IDisposable
z velmi dobrého důvodu. Níže uvedený kód je Dispose()
metoda pro SqlCommand
objekt:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
a jak můžete vidět, uvolňuje odkaz na _cachedMetaData
objekt, aby se také mohl vyčistit.