Ini 100% cara yang benar. Jika kelas memanfaatkan IDisposable itu harus dibungkus dengan using pernyataan untuk memastikan bahwa Dispose() metode disebut. Lebih lanjut, berkomunikasi dengan teknologi luar -tidak terkelola pada saat itu -seperti SQL Server tidak boleh dianggap enteng. SqlCommand objek mengimplementasikan IDisposable untuk alasan yang sangat bagus. Kode di bawah ini adalah Dispose() metode untuk SqlCommand objek:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
dan seperti yang Anda lihat, ia merilis referensi ke _cachedMetaData objek sehingga juga bisa dibersihkan.