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.