У меня есть следующий код:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(SqrtRoot(0));
Console.WriteLine(SqrtRoot(10));
Console.WriteLine(SqrtRoot(-10));
Console.ReadKey();
}
public static int SqrtRoot(int i)
{
Contract.Requires(i >= 0);
return (int)Math.Sqrt(i);
}
}
Я запускаю его в режиме отладки, и в последней строке должно появиться сообщение об ошибке
Console.WriteLine(SqrtRoot(-10));
Хотя по какой-то причине это не так. Кажется, он игнорирует вызов Contract.Requires (). Должен ли я что-то настроить при попытке использования контрактов по коду?
Я использую Visual Studio 2010 RC.
Спасибо