Code Vertragsverständnis des Fehlers

8

Ich beginne gerade mit Code Contracts und brauche ein wenig Hilfe bei der Korrektur eines Fehlers:

Gegeben dieser Code:

%Vor%

Ich erhalte den folgenden Fehler:

%Vor%

scheint viele der Standard-Checks nicht verfügbar zu machen. Was fehlt mir in diesem Beispiel?

    
David Williams 15.06.2011, 19:12
quelle

2 Antworten

5

Sie haben eine öffentliche Methode SomeMethod. Sie müssen jedoch festlegen, dass eine private Membervariable auf false festgelegt wird. Sie haben keine Möglichkeit, _isUsed festzulegen, und Sie überprüfen eine Variable, die der Aufrufer nicht steuern kann.

Sie könnten _isUsed zu einer Eigenschaft machen, d. h.

%Vor%

Und dann in Ihrem SomeMethod () haben

%Vor%     
taylonr 15.06.2011, 19:15
quelle
8

Es wurde bereits erklärt, dass entweder _isUsed Probleme mit der Sichtbarkeit hat (der Aufrufer hat keine Kontrolle), was von requires durchgesetzt wird.

Je nach dem, was Sie mit dem Vertrag erreichen möchten, kann Contract.Assert jedoch Ihre Anforderungen erfüllen.

%Vor%

wäre gültig, während das Required nicht vorhanden war.

    
vossad01 13.08.2012 20:29
quelle

Tags und Links