Я пытаюсь написать этот метод, используя c # контракты ... но при отладке он полностью игнорирует Contract.requires и CheckRep () Я использую это неправильно ??
public Poly Add(Poly q)
{
CheckRep();
Contract.Requires(q != null, "You need to provide a valid non-null Poly.");
Poly la, sm;
if (deg > q.deg)
{
la = this; sm = q;
}
else
{
la = q; sm = this;
}
int newdeg = la.deg;
if (deg == q.deg)
{
for (int k = deg; k > 0; k--)
{
if (trms[k] + q.trms[k] != 0)
{
break;
}
else
{
newdeg--;
}
}
}
Poly r = new Poly(newdeg);
int i;
for (i = 0; i <= sm.deg && i <= newdeg; i++)
{
r.trms[i] = sm.trms[i] + la.trms[i];
}
for (int j = i; j <= newdeg; j++)
{
r.trms[j] = la.trms[j];
}
return r;
}