This topic has not yet been rated - Rate this topic

Contract.Ensures Method (Boolean)

Specifies a postcondition contract for the enclosing method or property.

Namespace:  System.Diagnostics.Contracts
Assembly:  mscorlib (in mscorlib.dll)
[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.

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.

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.

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);
}

.NET Framework

Supported in: 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.