Отключить/подавить предупреждение CS0649 в С# для определенного поля класса
У меня есть некоторые поля в классе С#, которые я инициализирую с помощью отражения. Компилятор показывает для них предупреждение CS0649:
Поле foo' is never assigned to, and will always have its default
value
null '(CS0649) (Assembly-CSharp)
Я хотел бы отключить предупреждение только для этих конкретных полей и все же позволить показывать предупреждение для других классов и других полей этого класса.
Можно ли отключить CS0649 для всего проекта, есть ли что-нибудь более мелкозернистое?
Ответы
Ответ 1
Вы можете использовать #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
}
Обратитесь к Подавление "никогда не используется" и "никогда не назначается" предупреждениям на С# для расширенного ответа.
Ответ 2
//disable warning here
#pragma warning disable 0649
//foo field declaration
//restore warning to previous state after
#pragma warning restore 0649
Ответ 3
public class YouClass
{
#pragma warning disable 649
string foo;
#pragma warning restore 649
}
Ответ 4
Я считаю, что стоит отметить, что предупреждение также может быть подавлено с помощью инициализатора поля. Это значительно мешает вашему коду.
public class MyClass
{
// field declarations for which to disable warning
private object foo = null;
// rest of class
}