Отключить / подавить предупреждение CS0649 в C# для определенного поля класса
У меня есть некоторые поля в классе C#, которые я инициализирую с помощью отражения. Компилятор показывает CS0649 предупреждение для них:
поле
foo' is never assigned to, and will always have its default value
null' (CS0649) (Assembly-CSharp)
Я хотел бы отключить предупреждение только для этих конкретных полей и по-прежнему показывать предупреждение для других классов и других полей этого класса. Можно отключить CS0649 для всего проекта, есть ли что-то более мелкозернистое?
4 ответов
можно использовать #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
}