Ich fange gerade an, über die Codevertragsbibliothek zu lernen, die mit VS2010 standardmäßig kommt. Eine Sache, auf die ich sofort stoße, ist, was einige der Vertragsklauseln wirklich bedeuten.
Zum Beispiel, wie unterscheiden sich diese beiden Aussagen?
%Vor%Mit anderen Worten, was macht Contract.Exists in der Praxis, entweder für einen Entwickler, der meine Funktion verwendet, oder für das statische Code-Analysesystem?
Ok, ich habe die Antwort gefunden. Gemäß dem Code Contracts Benutzerhandbuch, Abschnitt 2.7.2:
"Es ist auch möglich, anstelle von Contract.Exists die Erweiterungsmethode System.Linq.Enumerable.Any zu verwenden."
Sie sind also gleichwertig. Ich werde Any anstelle von Exists verwenden, damit es mit dem Rest unseres Codes konsistent ist.
Tags und Links c# code-contracts