Apakah Anda perlu membuang objek dan mengaturnya ke nol, atau akankah pengumpul sampah membersihkannya ketika mereka keluar dari ruang
Apakah Anda perlu membuang objek dan mengaturnya ke nol, atau akankah pengumpul sampah membersihkannya ketika mereka keluar dari ruang
Mengapa beberapa orang menggunakan Finalizemetode di atas Disposemetode? Dalam situasi apa Anda akan menggunakan Finalizemetode di atas Disposemetode dan
DataSet dan DataTable keduanya mengimplementasikan IDisposable, jadi, dengan praktik terbaik konvensional, saya harus memanggil metode Buang () mereka. Namun, dari apa yang saya baca sejauh ini, DataSet dan DataTable sebenarnya tidak memiliki sumber daya yang tidak dikelola, jadi Buang ()...
Sesuatu seperti: using (IDisposable disposable = GetSomeDisposable()) { //..... //...... return Stg(); } Saya percaya itu bukan tempat yang tepat untuk pernyataan kembali,
.NET IDisposable Pattern menyiratkan bahwa jika Anda menulis finalizer, dan mengimplementasikan IDisposable, finalizer Anda perlu secara eksplisit memanggil Dispose. Ini logis, dan itulah yang selalu saya lakukan dalam situasi langka di mana seorang finalis dijamin. Namun, apa yang terjadi jika...
Mulailah dengan kelas-kelas sederhana ini ... Katakanlah saya memiliki satu set kelas sederhana seperti ini: class Bus { Driver busDriver = new Driver(); } class Driver { Shoe[] shoes = { new Shoe(), new Shoe() }; } class Shoe { Shoelace lace = new Shoelace(); } class Shoelace { bool...
Saya ingin memicu tugas untuk dijalankan di thread latar belakang. Saya tidak ingin menunggu tugas selesai. Dalam .net 3.5 saya akan melakukan ini: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); Dalam .net 4 TPL adalah cara yang disarankan. Pola umum yang saya lihat direkomendasikan...
Saya telah membuat kontrol pengguna WPF khusus yang dimaksudkan untuk digunakan oleh pihak ketiga. Kontrol saya memiliki anggota pribadi yang dapat dibuang, dan saya ingin memastikan bahwa metode pembuangannya akan selalu dipanggil setelah jendela / aplikasi yang memuatnya ditutup. Namun,...
Akar masalah saya adalah ketika usingmemanggil Disposea StreamWriter, itu juga membuang BaseStream(masalah yang sama dengan Close). Saya memiliki solusi untuk ini, tetapi seperti yang Anda lihat, ini melibatkan penyalinan aliran. Adakah cara untuk melakukan ini tanpa menyalin aliran? Tujuannya...
Saya memiliki kode berikut using(MemoryStream ms = new MemoryStream()) { //code return 0; } The dispose()metode ini disebut pada akhir usingpernyataan kawat gigi }yang benar? Karena I returnsebelum akhir usingpernyataan, apakah MemoryStreambenda tersebut akan dibuang dengan benar? Apa yang...
Kapan saya mengimplementasikan IDispose di kelas sebagai lawan dari destruktor? Saya membaca artikel ini , tetapi saya masih kehilangan intinya. Asumsi saya adalah bahwa jika saya mengimplementasikan IDispose pada suatu objek, saya dapat secara eksplisit 'merusak' sebagai lawan menunggu pengumpul...
Adakah metode, atau cara ringan lainnya, untuk memeriksa apakah referensi ditujukan ke benda yang dibuang? PS - Ini hanya keingintahuan (tidur nyenyak, bukan dalam kode produksi). Ya, saya tahu saya dapat menangkap ObjectDisposedExceptionsaat mencoba mengakses anggota objek.