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?
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% 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.
wäre gültig, während das Required nicht vorhanden war.
Tags und Links .net-4.0 code-contracts