我在看這個規則,它說終結器應該受到保護,我們應該向受保護的終結器添加受保護的修飾符。CA2221:終結器應該受到保護
我完全困惑,因爲我非常確定我無法修改析構函數以使其具有受保護的修飾符。
如果這是編譯器自動處理的東西,當它沒有明顯提及時,規則的修復清楚地指出使用protected關鍵字修改Finalizer(沒有意義)。
我正確地說我無法修改任何修飾符的Finalizer,因爲Object類中的Finalize方法是由析構函數自動調用的嗎?
同樣的問題CA2220:終結器應調用基類的終結 這是說我應該從派生類中調用基終結,但據我讀,基地終結於Object類,我不要的定案方法被自動調用甚至不必爲此煩惱。 我對不對?
什麼規則?什麼是CA2221? – Hogan
@Hogan http://msdn.microsoft.com/en-us/library/ms182340.aspx - 另外,'protected〜Foo()'編譯得很好。 – aevitas
@inspiringmyself你真的在自己的代碼中看到這些違規行爲嗎?還是隻是瀏覽整個代碼分析規則集? –