ใน C # อะไรคือความแตกต่างระหว่างตัวทำลายและเมธอด Finalize ในคลาส?
อะไรคือความแตกต่างระหว่างตัวทำลายและเมธอด Finalize ในคลาส ฉันเพิ่งค้นพบว่า Visual Studio 2008 พิจารณาตัวทำลายที่มีความหมายเหมือนกันกับวิธี Finalize ซึ่งหมายความว่า Visual Studio จะไม่ยอมให้คุณกำหนดทั้งสองวิธีพร้อมกันในคลาส ตัวอย่างเช่นส่วนของรหัสต่อไปนี้: class TestFinalize { ~TestFinalize() { Finalize(); } public bool Finalize() { return true; } } ให้ข้อผิดพลาดต่อไปนี้ในการเรียกให้เสร็จสิ้นในตัวทำลาย: การเรียกไม่ชัดเจนระหว่างวิธีการหรือคุณสมบัติต่อไปนี้: 'TestFinalize. ~ TestFinalize ()' และ 'TestFinalize.Finalize ()' และหากมีการแสดงความคิดเห็นการเรียกไปยัง Finalize จะทำให้เกิดข้อผิดพลาดดังต่อไปนี้: พิมพ์ 'ManagementConcepts.Service.TestFinalize' แล้วกำหนดสมาชิกที่เรียกว่า 'Finalize' ด้วยประเภทพารามิเตอร์เดียวกัน