Я хотел бы поймать все вызовы decimal.ToString()
в моем решении. Во время компиляции. (вопрос, обозначенный как «оригинал», относится к решению времени выполнения)Поймать вызовы decimal.ToString во время компиляции
Есть ли какой-либо трюк для этого? например, перегрузка ToString
и использование ObsoleteAttribute
?
Я могу решить выполнить сканирование (путем отражения) один раз в неделю с помощью кода, например this, или установить и настроить какую-то программу со статической проверкой кода. Но этот вопрос касается времени компиляции.
Причина в том, что decimal.ToString
- это культура, известная и которая в моем случае может быть проблемой; то есть, если кто-то установит решение на локальном сервере, выход может измениться.
У нас есть правило не звонить decimal.ToString
без его принятия CultureInvariant
, но оно не всегда учитывается.
Вы можете сделать анализатор Roslyn. – SLaks
Существуют инструменты статического анализа, которые позволяют проверять ваш код на соответствие стандартам кодирования (включая определение пользовательских правил). Таким образом, вы можете сразу проверить свой код на все ваши правила. – EJoshuaS
@BartoszKP Достаточно близко и может решить мою проблему, если я расслаблюсь от времени компиляции, чтобы вместо этого запускать инструмент один раз в неделю. Спасибо. – LosManos