คำถามติดแท็ก finalizer

13
การใช้วิธีจบ / กำจัดใน C #
C # 2008 ฉันทำงานนี้มาระยะหนึ่งแล้วและฉันยังสับสนเกี่ยวกับการใช้ขั้นตอนสุดท้ายและการกำจัดในโค้ด คำถามของฉันอยู่ด้านล่าง: ฉันรู้ว่าเราต้องการเครื่องมือขั้นสุดท้ายขณะที่ทิ้งทรัพยากรที่ไม่มีการจัดการ อย่างไรก็ตามหากมีการจัดการทรัพยากรที่โทรไปยังทรัพยากรที่ไม่มีการจัดการมันจะยังคงต้องใช้ตัวเลือกสุดท้าย อย่างไรก็ตามหากฉันพัฒนาคลาสที่ไม่ได้ใช้ทรัพยากรที่ไม่มีการจัดการไม่ว่าทางตรงหรือทางอ้อมฉันควรใช้IDisposableเพื่ออนุญาตให้ลูกค้าของคลาสนั้นใช้ 'การใช้คำสั่ง' หรือไม่ เป็นไปได้ไหมที่จะใช้ IDisposable เพียงเพื่อให้ลูกค้าในชั้นเรียนของคุณใช้คำสั่ง use using(myClass objClass = new myClass()) { // Do stuff here } ฉันได้พัฒนาโค้ดง่าย ๆ ด้านล่างนี้เพื่อสาธิตการใช้งานสุดท้าย / กำจัดทิ้ง: public class NoGateway : IDisposable { private WebClient wc = null; public NoGateway() { wc = new WebClient(); wc.DownloadStringCompleted += …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.