tengo el siguiente código:Obtención de contratos código para trabajar en Visual Studio 2010
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);
}
}
Estoy funcionando en modo de depuración, y debería disparar algún tipo de error en la última línea
Console.WriteLine(SqrtRoot(-10));
aunque, por alguna razón, no es así. Parece ignorar la llamada Contract.Requires(). ¿Debo configurar algo cuando trato de usar Contratos de Código?
Estoy usando Visual Studio 2010 RC.
Gracias
Eso disparará un error si para los valores de i = 0, i = 10 e i = -10. No lo entiendo –
Lo he intentado con Contract.Requires (i> = 0); y ahora el directo no está en gris. Tal vez tengas que dar el tipo de excepción como sugiere Victor. –
Hm ... Tienes razón. Algo no va bien allí ... Aunque el comportamiento predeterminado de los contratos es arrojar un error y mostrar una ventana. –