Как уже упоминалось, операторы Debug.Assert
всегда должны быть true , даже если аргументы неверны, утверждение должно быть истинным, чтобы приложение не переходило в недопустимое состояние и т. Д.
Debug.Assert(_counter == somethingElse, "Erk! Out of wack!");
Вы не должны быть в состоянии проверить это (и, вероятно, не хотите, потому что на самом деле вы ничего не можете сделать!)
Я мог бы быть далеко, но у меня сложилось впечатление, что, возможно, утверждения, о которых вы, возможно, говорите, лучше подходят в качестве "исключений аргументов", например
if (param1 == null)
throw new ArgumentNullException("param1", "message to user")
Такое «утверждение» в вашем коде все еще очень проверяемо.
ПК: -)