Bir sınıftaki bir yıkıcı ile Finalize yöntemi arasında varsa, fark nedir?
Geçenlerde Visual Studio 2008'in Finalize yöntemiyle eşanlamlı bir yıkıcı olarak gördüğünü keşfettim, bu da Visual Studio'nun bir sınıfta her iki yöntemi de aynı anda tanımlamanıza izin vermeyeceği anlamına geliyor.
Örneğin, aşağıdaki kod parçası:
class TestFinalize
{
~TestFinalize()
{
Finalize();
}
public bool Finalize()
{
return true;
}
}
Yıkıcıda Finalize çağrısında şu hatayı verir:
Çağrı, aşağıdaki yöntemler veya özellikler arasında belirsizdir: 'TestFinalize. ~ TestFinalize ()' ve 'TestFinalize.Finalize ()'
Ve Finalize çağrısı yorumlanırsa, aşağıdaki hatayı verir:
'ManagementConcepts.Service.TestFinalize' yazın, aynı parametre türlerine sahip 'Finalize' adlı bir üyeyi zaten tanımlıyor