title: ArgumentNullException Vs Contract.Requires
body: <p>The <strong>ArgumentNullException</strong> throws an exception if the argument that is passed to it is null. This happens at the runtime. What does <strong>Contract.Requires</strong> do? Is it a compile time checking or checked at runtime?</p>