CodeContracts Simple Code Contracts for every day! Requires - is used to set preconditions for the method. Assumes - is used to make assumptions in the method code itself. NuGet https://www.nuget.org/packages/CodeContracts/