1
我有以下代碼:Visual Studio代碼分析處置實施警告
/// <summary>
/// Dispose.
/// </summary>
public override sealed void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose.
/// </summary>
/// <param name="disposing">
/// Disposing parameter.
/// </param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
}
Clear();
base.Dispose(disposing);
}
,並具有以下警告:
警告435 CA2215:Microsoft.Usage:確保法「DSDump.Dispose ()'在所有可能的控制流路徑中調用base.'DSDump.Dispose()'。
警告436 CA1063:Microsoft.Design:刪除'DSDump.Dispose()',重寫Dispose(bool disposing),並將dispose邏輯放置在代碼路徑中'disposing'爲true。
我沒有任何想法,爲什麼...從我身邊看起來都不錯。
+1,Microsoft確實有示例代碼來顯示建議的內容,http://msdn.microsoft.com/en-us/library/b1yfkh5e.aspx –
@LexLi請注意,MS準則和示例代碼僅顯示如何實現基類,但不是派生類。爲此,請參閱:http://reedcopsey.com/2009/03/30/idisposable-part-2-subclass-from-an-idisposable-class/ –