Apa perbedaan, jika ada, antara destruktor dan metode Finalisasi di kelas?
Saya baru-baru ini menemukan bahwa Visual Studio 2008 menganggap destruktor identik dengan metode Finalize, yang berarti bahwa Visual Studio tidak akan membiarkan Anda secara bersamaan menentukan kedua metode di kelas.
Misalnya, fragmen kode berikut:
class TestFinalize
{
~TestFinalize()
{
Finalize();
}
public bool Finalize()
{
return true;
}
}
Memberikan kesalahan berikut pada panggilan untuk Menyelesaikan di destruktor:
Panggilan tersebut ambigu antara metode atau properti berikut: 'TestFinalize. ~ TestFinalize ()' dan 'TestFinalize.Finalize ()'
Dan jika panggilan ke Finalize dikomentari, itu memberikan kesalahan berikut:
Ketik 'ManagementConcepts.Service.TestFinalize' sudah mendefinisikan anggota bernama 'Finalize' dengan jenis parameter yang sama