zhshqzyc Ответов: 2

След.Утверждать против отладки.Утверждать


Я отлаживаю приложение, которое вычисляет проценты по кредиту. Приложение включает в себя следующий код.
private static decimal CalculateInterest(decimal loanAmount, int loanTerm, decimal loanRate)
{
     decimal interestAmount = loanAmount * loanRate * loanTerm;
     // need to insert Assert method here
     return interestAmount;
}

Мне нужно убедиться, что отладчик прерывает выполнение в методе CalculateInterest (), когда переменная loanAmount меньше или равна нулю во всех сборках приложения.
Что же мне делать?
A. вставьте следующий сегмент кода:
Trace.Assert(loanAmount > 0);
B. вставьте следующий сегмент кода:
Debug.Assert(loanAmount > 0);

2 Ответов

Рейтинг:
2

Member 11627906

След.Assert так как он говорит все конфигурации сборки

Debug.Assert method disappear when you create a Release version of your code


Philippe Mori

Похоже, вы неправильно прочитали вопрос, так как ОП говорит, что он отлаживается...

tmricardo7

Он говорит: "во всех сборках приложения." Итак, Трейс.Утверждать, ОК

Рейтинг:
18

Thomas Daniels

От страница MSDN об отладке.Утверждать[^]:

Цитата:
По умолчанию используется отладка.Метод Assert работает только в отладочных сборках. Используй след.Метод Assert, если вы хотите выполнять утверждения в сборках выпуска.

Так что в вашем случае вам, вероятно, нужна отладка.Утверждать.