클래스에서 소멸자와 Finalize 메서드의 차이점은 무엇입니까?
최근에 Visual Studio 2008이 Finalize 메서드와 동의어 인 소멸자를 고려한다는 사실을 발견했습니다. 즉, Visual Studio에서는 클래스에서 두 메서드를 동시에 정의 할 수 없습니다.
예를 들어, 다음 코드 조각 :
class TestFinalize
{
~TestFinalize()
{
Finalize();
}
public bool Finalize()
{
return true;
}
}
소멸자에서 Finalize를 호출 할 때 다음 오류를 제공합니다.
다음 메서드 또는 속성간에 호출이 모호합니다. 'TestFinalize. ~ TestFinalize ()'및 'TestFinalize.Finalize ()'
Finalize에 대한 호출이 주석 처리되면 다음 오류가 발생합니다.
'ManagementConcepts.Service.TestFinalize'유형은 이미 동일한 매개 변수 유형으로 'Finalize'라는 멤버를 정의합니다.