リフレクションを使用して初期化するC#クラスにいくつかのフィールドがあります。コンパイラーは、それらに対してCS0649警告を表示します。
フィールド
foo' is never assigned to, and will always have its default value
null '(CS0649)(アセンブリ-CSharp)
これらの特定のフィールドについてのみ警告を無効にし、他のクラスやこのクラスの他のフィールドについては警告を表示したままにします。プロジェクト全体でCS0649を無効にすることは可能ですが、もっときめ細かいものはありますか?
#pragma warning
特定の警告を無効にしてから再度有効にするには:
public class MyClass
{
#pragma warning disable 0649
// field declarations for which to disable warning
private object foo;
#pragma warning restore 0649
// rest of class
}
詳細な回答については、 「使用されない」および「割り当てられない」警告をC#で抑制する を参照してください。
//disable warning here
#pragma warning disable 0649
//foo field declaration
//restore warning to previous state after
#pragma warning restore 0649
フィールド初期化子を使用することで警告を抑制することもできます。これにより、コードが非常に少なくなります。
public class MyClass
{
// field declarations for which to disable warning
private object foo = null;
// rest of class
}
public class YouClass
{
#pragma warning disable 649
string foo;
#pragma warning restore 649
}