私は小さなプロジェクト用の単純なクラスを作成していて、を使用する代わりにクイックimplのデストラクタを追加することにしIDisposable
ました。アクセス修飾子が付いたデストラクタがあると、コンパイラエラーが発生しました。
public class MyClass
{
public ~MyClass()
{
// clean resources
}
}
私はパブリック、プライベート、プロテクト、そして内部を試しました。アクセス修飾子がなくても正常に機能しました。この記事は、〜destructorが本質的に保護されたFinalize関数のシンタティックシュガーであることを示しているので、少なくともデストラクタで保護されたものを使用できないのは奇妙なことです。記事には、「デストラクタを呼び出すことはできません。デストラクタは自動的に呼び出されます」と記載されています。これは、その動作が強制される方法ですか?
とにかく実装することになりましたIDisposable
が、興味があります...デストラクタにアクセス修飾子を配置できない理由は他にありますか?