Поделиться через


Предупреждение компилятора (уровень 3) CS0414

Присваивается частное поле "поле", но его значение никогда не используется

Замечание

Это предупреждение сообщается только во время явных операций сборки или перестроения . Он не отображается во время ввода в интегрированной среде разработки в рамках диагностики IntelliSense. Это означает, что если вы исправите предупреждение с помощью поля или удалите его, предупреждение может сохраняться в списке ошибок, пока не создадите или перестроите проект еще раз.

Это предупреждение может возникать в нескольких сценариях, в которых компилятор может убедиться, что переменная никогда не ссылается:

  • Частное поле назначается константным значением, но впоследствии никогда не считывается. Ненужное назначение может повлиять на производительность. Рассмотрите возможность удаления поля.

  • Частное или внутреннее статическое поле назначается константным значением только в инициализаторе. Рассмотрите возможность изменения поля на константу.

  • Частное или внутреннее поле присваивается константным значениям и используется только в блоках, исключенных директивами #ifdef. Рассмотрите возможность поместить поле в блок #ifdef.

  • Частное или внутреннее поле присваивается постоянным значениям в нескольких местах, но в остальном не используется. Если поле не требуется, попробуйте удалить его. В противном случае используйте его соответствующим образом.

В других ситуациях или в тех случаях, когда предлагаемое решение недопустимо, используйте #pragma 0414.

В следующем примере показан один из способов создания CS0414:

// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

Замечание

Если переменная i объявлена как protected или public, ошибка не будет возникать, так как компилятор не может знать, может ли производный класс использовать её или какой-либо другой клиентский код может создать экземпляр класса и ссылаться на переменную.

См. также