为什么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