Ab VS 2010 & .NET 4 kann man Code Contracts nutzen.
Tutorial: http://devjourney.com/blog/2014/02/12/code-contracts-part-1-introduction/
Beispiel Quellcode vom neuen Open Source .NET Corefx: https://github.com/dotnet/corefx/blob/master/src/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableStack%601.cs