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