可能重複:
Virtual member call in a constructor在C#中,從構造函數調用虛方法是否安全?
在C#中,它是安全調用構造函數從虛方法?語言規範說什麼?請從規格中引用。通過安全,我的意思是它會調用派生類的實現?
這種懷疑存在於我的腦海裏,因爲在C++中,它是不安全地從構造函數中調用虛函數。
可能重複:
Virtual member call in a constructor在C#中,從構造函數調用虛方法是否安全?
在C#中,它是安全調用構造函數從虛方法?語言規範說什麼?請從規格中引用。通過安全,我的意思是它會調用派生類的實現?
這種懷疑存在於我的腦海裏,因爲在C++中,它是不安全地從構造函數中調用虛函數。
這是不安全的,因爲在匹配的構造函數有機會建立類不變量之前調用虛函數。
相反,它在C++中是安全的 - 調用的函數在匹配構造函數中調用,而不是在之前調用。
我編輯了我的問題,說我的意思是「安全」。 – Nawaz
好吧!重複存在。然後投票結果! – Nawaz
我已經擁有。 –
爲什麼將「安全」定義爲調用派生類的實現?人們可以做出合理的論點,即C++的技術(根據類的哪些部分被初始化調用方法實現)是更安全的選擇。 –