วีดีโอ: ทำไมเราต้อง IDisposable?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
IDisposable จะไม่ล้างสิ่งใดหรือทำลายวัตถุ การเรียกใช้ Dispose() จะไม่ทำอะไรเลยหากฟังก์ชันนั้นไม่ทำอะไรเลย การใช้ IDisposable เป็นรูปแบบ การอ้างอิงที่มีการจัดการไปยังอ็อบเจ็กต์อื่นๆ ป้องกันไม่ให้อ็อบเจ็กต์ถูกรวบรวมโดยตัวรวบรวมขยะ
ในทำนองเดียวกัน คุณอาจถามว่าทำไมจึงใช้อินเทอร์เฟซ IDisposable
IDisposable บ่อยๆ ใช้แล้ว เพื่อใช้ประโยชน์จากคำสั่ง using และใช้ประโยชน์จากวิธีง่ายๆ ในการล้างข้อมูลอ็อบเจ็กต์ที่มีการจัดการแบบกำหนดได้ จุดประสงค์ของรูปแบบการกำจัดคือเพื่อให้กลไกในการทำความสะอาดทรัพยากรทั้งที่มีการจัดการและที่ไม่มีการจัดการ และเมื่อสิ่งนั้นเกิดขึ้นขึ้นอยู่กับวิธีการเรียกวิธีการกำจัด
นอกจากนี้ IDisposable คืออะไร? IDisposable เป็นอินเทอร์เฟซที่มีเมธอดเดียว Dispose() สำหรับการปล่อยทรัพยากรที่ไม่มีการจัดการ เช่น ไฟล์ สตรีม การเชื่อมต่อฐานข้อมูล และอื่นๆ
เมื่อพิจารณาถึงสิ่งนี้ ฉันควรใช้ IDisposable เมื่อใด
ในชั้นเรียน คุณ ควรใช้ IDisposable และเขียนทับวิธี Dispose เพื่อให้คุณสามารถควบคุมเวลาที่หน่วยความจำว่างได้ ถ้าไม่ ความรับผิดชอบนี้จะถูกทิ้งให้ตัวรวบรวมขยะเพื่อเพิ่มหน่วยความจำเมื่ออ็อบเจ็กต์ที่มีทรัพยากรที่ไม่มีการจัดการได้รับการสรุปผล
ทำไมเราต้องทิ้งใน C #
แนะนำให้ใช้เสมอ ทิ้ง วิธีการทำความสะอาดทรัพยากรที่ไม่มีการจัดการ แต่ทรัพยากรที่ไม่มีการจัดการ (เช่น วัตถุที่สร้าง Windows API, ไฟล์, วัตถุการเชื่อมต่อฐานข้อมูล, วัตถุ COM ฯลฯ) อยู่นอกขอบเขตของ. NET framework เรา ต้องทำความสะอาดทรัพยากรของเราอย่างชัดเจน สำหรับวัตถุประเภทนี้.