Возьмем следующий пример:
public void Foo()
{
//Code...
Debug.Assert(ExpensiveTest());
//Code...
}
Что происходит с методом Debug.Assert
при компиляции в режиме выпуска? Будет ли еще ExpensiveTest()
работать? Если нет, то как это работает (поскольку это не макрос, который можно установить для оценки ни к чему)? Если он запускается, то разве это не преувеличивает цель утверждений отладки?