Фреймворк CodeContracts
является частью .NET 4. Таким образом, вы можете писать код против него без необходимости что-либо устанавливать, просто без компонента перезаписи кодовые контракты не будут иметь никакого эффекта во время выполнения.Я воспринимаю это включение в рамках как признак того, что Microsoft намерена интегрировать контракты на код в будущем.
Согласно статистике на странице CuttingEdge.Conditions
CodePlex , она была загружена только 4 189раз.В синтаксисе есть несколько приятных моментов, но если только что-то специально не поддерживается CuttingEdge.Conditions
, а не CodeContracts
, вы можете также придерживаться версии, являющейся частью .NET.
Ключевые функцииКонтракты кода, насколько мне известно, таковы:
Вы можете установить контракты кода на интерфейсах, чтобы указать ожидаемое поведение типов, реализующих эти интерфейсы.
Контракты кода наследуются.
Я не пробовал CuttingEdge.Conditions
, но не очевидно, что он поддерживает эти две функции (тогда как CodeContracts
делает).