To jest w 100% właściwy sposób. Jeśli klasa wykorzystuje IDisposable powinien być opakowany w using oświadczenie, aby upewnić się, że Dispose() wywoływana jest metoda. Co więcej, nie należy lekceważyć komunikacji z zewnętrzną technologią - w tym przypadku niezarządzaną - taką jak SQL Server. SqlCommand obiekt implementuje IDisposable z bardzo dobrego powodu. Poniższy kod to Dispose() metoda dla SqlCommand obiekt:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
i jak widać, uwalnia odwołanie do _cachedMetaData obiekt, aby on również mógł zostać posprzątany.