Visual Studio C # игнорирует ошибку - PullRequest
2 голосов
/ 30 марта 2012

Есть ли способ в C #, который я могу сигнализировать VS, чтобы заставить его игнорировать ошибку в определенной строке?

У меня есть переменная pos2, которая инициализируется только иногда (она случайная). Однако, когда он инициализируется, я одновременно устанавливаю флаг.

pos2 = new Vector3(2.5F, 0.624F, 75F);
secondCar = true;

Позже в коде (за проверкой моего флага) я обычно использую pos2, и редактор выдает ошибку. Я регулярно использую этот скрипт, так что я знаю, что он не сломан, и поскольку pos2 находится за проверкой флага, я знаю, что никогда не достигну точки, где pos2 используется, когда не объявлено.

В Python вы можете использовать "@UnusedVariable" или что-то в этом роде (я точно не помню), но мой редактор VS продолжает выдавать мне сообщение об ошибке, и я знаю, что он никогда не достигнет этой ситуации.

Ответы [ 4 ]

3 голосов
/ 30 марта 2012

Попробуйте использовать Vector3? ( обнуляемый тип ) вместо Vector3, так как невозможно устранить ошибку.

3 голосов
/ 30 марта 2012

Похоже, что вы получаете как ошибку CS165 об использовании неназначенной локальной переменной.Проще говоря, нет способа подавить это сообщение.Предупреждения в C # подавляются, а ошибки - нет.

Сегодня код действительно может быть верным, и его использование правильно основано на соответствующих воротах, таких как secondCar, который вы упомянули.Однако эти логические элементы могут быть неочевидны для следующего разработчика или даже для вас через неделю или около того.Попытка подавить допустимую ошибку, подобную этой, в C # просто открывает ворота для будущих проблем в будущем.

Вместо того, чтобы пытаться бороться с компилятором, я бы порекомендовал работать с ним.

1 голос
/ 30 марта 2012

Вы хотите инициализировать переменную null или другим значением по умолчанию.Таким образом, ошибка исчезнет, ​​а не будет подавлена.

0 голосов
/ 30 марта 2012

См. этот ответ для получения более подробной информации, но обычно вы можете использовать #pragma warning disable для отключения предупреждений.

... Я предполагаю, что вы имеете в виду предупреждения, верно? Если это ошибка, ваш код не будет компилироваться, поэтому вы не можете игнорировать это. Но вы можете игнорировать предупреждения. Если вы действительно получаете ошибку, просто используйте инициализатор переменной, например:

int someVariable = 0;
YourClass someInstance = null;

Тогда компилятор не будет жаловаться на неинициализированные переменные.

...