在 C# 中的一個類中我們可以有多少個解構函式?


在 c# 中,解構函式是一個類的特殊方法,並在類內部用於銷燬類物件或例項。

一個類中只能有一個解構函式

以下是在 c# 中解構函式的屬性

  • 解構函式不接受任何引數

  • 解構函式以波浪號 (~) 開頭

  • 結構中不允許定義解構函式 (~)。

  • 不能呼叫解構函式。它們會被自動呼叫。

  • 解構函式會隱式地對物件的基類的 Finalize 函式進行呼叫。

示例

class Demo{
   ~Demo(){ //Finalizer
      // cleanup statements...
   }
}
class Program{
   static void Main(){
      Console.ReadLine();
   }
}

終止函式會隱式地對物件的基類的 Finalize 函式進行呼叫。因此,對終止函式的呼叫會隱式地轉換為以下程式碼 −

protected override void Finalize(){
   try{
      // Cleanup statements...
   }
   finally{
      base.Finalize();
   }
}

程式設計師無法控制終止函式的呼叫時間

如果宣告多個解構函式,則編譯器會丟擲一個錯誤。 

'Demo' 已定義名為 '~Demo' 的成員

class Demo{
   ~Demo(){
   }
   ~Demo(){
   }
}
class Program{
   static void Main(){
      Console.ReadKey();
   }
}

更新於:2020-08-04

348 次觀看

開啟你的職業

完成課程認證

開始學習
廣告