2010-03-28 3 views
1

В VS2010 и .NET 4.0 я вижу ярлыки в intellisense для добавления контрактов к моему коду (например, cr, crr), но когда я вставляю их, чтобы добавить их, код (например, контракт .Requires) не имеет действительной сборки, поэтому нет intellisense (тип не может быть найден в основном).Начало работы с кодовыми контрактами

Как именно я встаю и работаю с кодовыми контрактами?

EDIT: Все методы существуют в System.Diagnostics.Contracts, но я думал, что буду использовать атрибуты повсюду? Кроме того, существует множество разных DLL-файлов для доступных контрактов!

Благодаря

ответ

2

Сборка просто mscorlib - и Contract находится в System.Diagnostics.Contracts пространстве имен.

<plug> Для более подробной информации о договорах кода, вы можете купить второе издание C# в глубине и прочтите главу 15. (Эта глава была доступна бесплатно, но не сейчас, я боюсь.) </plug>

Или, конечно, вы могли бы прочитать документы тоже, так как они очень хорошо :)

Если вы обнаружили, что не хватает в System.Diagnostics.Contracts пространство имен, то стоит проверить, что вы действительно нацелены на .NET 4 - если вы создать проект .NET 3.5 в VS2010, который не будет иметь доступных кодовых контрактов (без добавления явной ссылки на сборку, любой путь).

+0

Разве глава по-прежнему доступна бесплатно? Я не могу скачать его. – Martin

+0

@Martin: Крысы - нет, это не так, к сожалению. Мэннинг изменил его, чтобы стать главой 1, которая бесплатна. Сожалею! Будет редактировать. –

Смежные вопросы