Dit is 100% de juiste manier. Als een klasse gebruikmaakt van IDisposable
het moet worden ingepakt in een using
statement om ervoor te zorgen dat de Dispose()
methode wordt genoemd. Verder moet niet lichtvaardig worden gecommuniceerd met een technologie van buitenaf -onbeheerd dan- zoals SQL Server. Het SqlCommand
object implementeert IDisposable
om een zeer goede reden. De onderstaande code is de Dispose()
methode voor de SqlCommand
voorwerp:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
en zoals je kunt zien, geeft het een verwijzing vrij naar de _cachedMetaData
object zodat het ook opgeruimd kan worden.