Contract.Ensures Method (Boolean)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Specifies a postcondition contract for the enclosing method or property.
Namespace: System.Diagnostics.Contracts
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<ConditionalAttribute("CONTRACTS_FULL")> _
Public Shared Sub Ensures ( _
condition As Boolean _
)
[ConditionalAttribute("CONTRACTS_FULL")]
public static void Ensures(
bool condition
)
Parameters
- condition
Type: System.Boolean
The conditional expression to test. The expression may include OldValue<T>, ValueAtReturn<T>, and Result<T> values.
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.
You must use the binary rewriter (available at Code Contracts on the MSDN DevLabs Web site) for run-time enforcement of this postcondition.
Examples
The following example shows how to use the Ensures method to ensure that an expected value is returned. This code example is part of a larger example provided for the ContractClassAttribute class.
Function Add(ByVal value As Object) As Integer Implements IArray.Add
' Returns the index in which an item was inserted.
Contract.Ensures(Contract.Result(Of Integer)() >= -1) '
Contract.Ensures(Contract.Result(Of Integer)() < CType(Me, IArray).Count) '
Return 0
End Function 'IArray.Add
int IArray.Add(Object value)
{
// Returns the index in which an item was inserted.
Contract.Ensures(Contract.Result<int>() >= -1);
Contract.Ensures(Contract.Result<int>() < ((IArray)this).Count);
return default(int);
}
Version Information
Silverlight
Supported in: 5, 4
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.