2010-11-19 4 views
1

Так что я пытаюсь запустить простой код с Контрактами кода (который я не использовал в течение некоторого времени)Настройка контрактов кода в Visual Studio 2010

static void Main(string[] args) 
    { 
     double res = sqrt(-5); 
    } 

    static double sqrt(int a) 
    { 
     Contract.Requires(a >= 0, "a must be >= 0!"); 

     return Math.Sqrt(a); 
    } 

Но это, кажется, не делать ничего вообще, когда я запускаю его. Из того, что я вспоминаю несколько месяцев назад, должно возникнуть ошибка в отношении a, которая меньше 0.

Я переустановил Академическую версию с сайта Code Contracts только для того, чтобы быть в безопасности, и это все еще не работает , Каковы шаги, необходимые для работы Code Contracts?

EDIT: Resharper сообщает мне на Contract.Requires(a >= 0);, что метод пропускается, поскольку он либо «условный, либо частично метод без реализации».

Благодаря

+0

Я думаю, вы хотите написать Math.Sqrt (a) вместо Math.Sqrt (a * a)? Конечно, это не поможет с вашим вопросом ... – Philipp

+0

Да, это опечатка. –

ответ

2

Вы должны проверить этот веб-страницу: link text

Вы должны пойти в свойства проекта, Code Contracts вкладки и нажмите на время выполнения флажков.

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