なぜこのファイナライザについて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定数)、 'DEBUGなら'と 'endif'の間のテキストはグレー表示されません。 – apocalypse