Instructs code analysis tools to assume that a condition is true, even if it cannot be statically proven to always be true, and displays a message if the assumption fails.
If userMessage is not a constant string literal, the contract may not be understood by tools.
At run time, using this method is equivalent to using the Contract.Assert(bool, string) method.