What are code contracts?
Code Contracts are type of methods. They are static library methods that are used in the .NET program to specify the code’s behavior. Basically, think of it as a contract for the code. It defines what the code must do and how must it do it. They specify preconditions, post conditions, and object invariants in the code. Preconditions are requirements that must be met when entering a method or property. Post conditions are expectations that exist at the time the method or property code exits. Object invariants describe the expected state for a class that is in a good state.
The benefits of code contracts include improved testing, automatic testing tools, static verification, and reference documentation. These code contracts are primarily utilized by the runtime checking and static checking tools. The code contracts can be found in the System.Diagnostics.Contracts namespace.