System.Diagnostics.Contracts.Contract.Ensures Method

Specifies a postcondition contract for a provided exit condition and a message to display if the condition is false.

Syntax

[System.Diagnostics.Conditional("CONTRACTS_FULL")]
[System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.MayFail)]
public static void Ensures (bool condition, string userMessage)

Parameters

condition
The conditional expression to test. The expression may include Contract.OldValue``1(``0) and Contract.Result``1 values.
userMessage
The message to display if the expression is not true.

Remarks

The condition parameter specifies a postcondition that is expected to be true when the enclosing method or property returns normally.

  • 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.

  • You must use the binary rewriter (available at tp://go.microsoft.com/fwlink/?LinkId=152461 on the MSDN DevLabs Web site) for run-time enforcement of this postcondition.

  • If userMessage is not a constant string literal, the contract may not be understood by tools.

Requirements

Namespace: System.Diagnostics.Contracts
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 4.0.0.0