Specifies a precondition contract for the enclosing method or property, and displays a message if the condition for the contract fails.
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, string) method when backward compatibility does not force you to throw a particular exception.