This method call must be at the beginning of a method or property, before any other code.
This contract is exposed to clients; therefore, it must only reference members that are at least as visible as the enclosing method.
Use this method instead of the Contract.Requires``1(bool) method when backward compatibility does not force you to throw a particular exception.