Как сгенерировать предупреждение, если используется определенное значение перечисленияC#

Место общения программистов C#
Ответить
Anonymous
 Как сгенерировать предупреждение, если используется определенное значение перечисления

Сообщение Anonymous »

Я использую перечисление, предоставляемое сторонней сборкой, например

Код: Выделить всё

public enum APIEnum
{
Val1,
Val2
}
. Однако некоторые из этих значений вызывают некорректное поведение моего приложения. Я хочу сгенерировать предупреждение компилятора, если в коде используется одно из этих «плохих» значений перечисления, например,

Код: Выделить всё

APIEnum usedVal = APIEnum.Val2;

Compiler Warning: APIEnum.Val2 causes incorrect behavior.
Моя конечная цель — создать предупреждение, которое должно быть сознательно #pragma'd, если используется неправильное значение (2% от общего числа случаев). В противном случае выдается предупреждение, а поскольку у нас есть предупреждения как ошибки, компиляция прерывается до тех пор, пока не будет исправлено или #pragma'd.

Я просмотрел темы здесь и здесь об использовании атрибута "Устаревший" для решения этой проблемы, но я боюсь, что атрибут "Устаревший" вызовет путаницу, поскольку значение на самом деле не устарело.

Я рассмотрел возможность использования плагин анализа кода Resharper для решения проблемы, и это определенно вариант. Я не эксперт по Resharper или по тому, как лучше всего решить проблему с помощью Resharper.

Подробнее здесь: https://stackoverflow.com/questions/148 ... ue-is-used
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»