Code Contracts

CodeContracts verwendet man zur Überprüfung von Parametern vor der eigentlichen Methodenausführung. Zunächst sollte das erforderliche Visual Studio AddIn (von Microsoft) installiert werden.  Nach der Installation erhält man unter den Projekteigenschaften eine neue Karteikarte Code Contracts:

CodeContracts1

Dort kann man sowohl das Static- als auch das Runtime-Checking aktivieren. Die statische Überprüfung wird unmittelbar nach dem Kompilieren ausgeführt und kann Probleme frühzeitig erkennen. Bei aktiviertem Runtime-Checking (z.B. im Debug -Modus) werden zur Laufzeit Exceptions geworfen, wenn gegen den Vertrag verstoßen wird. Ist die Runtime -Überprüfung ausgeschaltet (z.B. im Release-Modus), wird der Code ignoriert. Das führt natürlich zu einer verbesserten Performance. Im Code sieht das im einfachsten Fall so aus:

CodeContracts2

Bei aktivierter statischer Überprüfung werden dann folgende Fehler ausgegeben:

CodeContracts3

Weitere Infos unter:

http://www.codeproject.com/Articles/103779/Introducing-Code-Contracts

und

https://msdn.microsoft.com/de-de/library/system.diagnostics.contracts.contract%28v=vs.100%29.aspx