Да, их можно подавить.
Обычно я против подавления предупреждений, но в этом случае структуры, используемые для взаимодействия, обязательно требуют наличия некоторых полей, даже если вы никогда не собираетесь (или может) использовать их, поэтому в этом случае я думаю, что это должно быть оправдано.
Обычно, чтобы подавить эти два предупреждения, вы должны исправить код, вызывающий сбой.Первый («... никогда не используется») - это обычно запах кода остатков более ранних версий кода.Возможно, код был удален, но поля остались позади.
Вторым обычно является запах кода для неправильно используемых полей.Например, вы могли бы неправильно записать новое значение свойства обратно в само свойство, никогда не записывая его в вспомогательное поле.
Для подавления предупреждений для " Поле XYZ никогда не используется", вы делаете это:
#pragma warning disable 0169
... field declaration
#pragma warning restore 0169
Чтобы подавить предупреждения для" Поле XYZ никогда не назначается и всегда будет иметь значение по умолчанию XX", вы делаете это:
#pragma warning disable 0649
... field declaration
#pragma warning restore 0649
Чтобы самостоятельно найти такие номера предупреждений (т. Е. Как я узнал об использовании 0169 и 0649), вы делаете это:
Предупреждение : согласно комментарию @ Jon Hanna , возможно, несколькодля этого нужны предупреждения, для будущих искателей этого вопроса и ответа.
- Во-первых, прежде всего, акт подавления предупреждения сродни глотанию таблеток от головной боли.Конечно, иногда это может быть правильным, но это не универсальное решение.Иногда головная боль является реальным симптомом, который вы не должны маскировать, также как и предупреждения.Всегда лучше попытаться обработать предупреждения, устранив их причину, вместо того, чтобы просто слепо удалять их из результатов сборки.
- Сказав, что, если вам нужно подавить предупреждение, следуйте схеме, которую я изложилвыше.Первая строка кода,
#pragma warning disable XYZK
, отключает предупреждение для остальной части этого файла или, по крайней мере, до тех пор, пока не будет найден соответствующий #pragma warning restore XYZK
.Минимизируйте количество строк, на которых отключены эти предупреждения.Приведенный выше шаблон отключает предупреждение только для одной строки. - Также, как упоминает Джон, комментарий относительно того, почему вы это делаете, является хорошей идеей.Отключение предупреждения, безусловно, является запахом кода, когда оно выполняется без причины, и комментарий не позволит будущим сопровождающим тратить время на то, чтобы задуматься о том, почему вы это сделали, или даже удалить его и попытаться исправить предупреждения.