爲什麼VS抱怨這個終結器?CA1821刪除空的終結器
VS 2017年 - 15.3.5
微軟代碼分析2017年 - 2.3.0.62003
using System;
namespace ConsoleApp
{
class DisposableClass : IDisposable
{
#if DEBUG
~DisposableClass() // CA1821 Remove empty Finalizers
{
System.Diagnostics.Debug.Fail ("Forgot Dispose?");
}
#endif
public void Dispose()
{
#if DEBUG
GC.SuppressFinalize (this);
#endif
}
}
class Program
{
static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}
請張貼代碼,而不是圖片的代碼。 –
那麼,這是否發生在調試或發佈版本?或者兩者都可能? – Evk
@Evk:在兩種情況下,當我更改爲Release(未檢查DEBUG常量)時,「if DEBUG」和「endif」之間的文本不會變灰。 – apocalypse