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/ –