다음을 통해 공유


Contract.Ensures 메서드

정의

바깥쪽 메서드 또는 속성에 대한 사후 조건 계약을 지정합니다.

오버로드

Ensures(Boolean)

바깥쪽 메서드 또는 속성에 대한 사후 조건 계약을 지정합니다.

Ensures(Boolean, String)

제공된 종료 조건에 대한 사후 조건 계약과 조건이 false인 경우 표시할 메시지를 지정합니다.

Ensures(Boolean)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

바깥쪽 메서드 또는 속성에 대한 사후 조건 계약을 지정합니다.

public:
 static void Ensures(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Ensures : bool -> unit
Public Shared Sub Ensures (condition As Boolean)

매개 변수

condition
Boolean

테스트할 조건식입니다. 식에는 OldValue<T>(T), ValueAtReturn<T>(T)Result<T>() 값이 포함될 수 있습니다.

특성

예제

다음 예제에서는 사용 하는 방법에 설명 합니다 Ensures 예상된 값이 반환 되도록 메서드입니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 ContractClassAttribute 클래스입니다.

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

설명

매개 변수는 condition 바깥쪽 메서드 또는 속성이 정상적으로 반환될 true 때 예상되는 사후 조건을 지정합니다.

  • 이 메서드 호출은 다른 코드 앞에 있는 메서드 또는 속성의 시작 부분에 있어야 합니다.

  • 이 사후 조건의 런타임 적용에는 이진 재작성기(Visual Studio Marketplace의 코드 계약 에서 사용 가능)를 사용해야 합니다.

적용 대상

Ensures(Boolean, String)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

제공된 종료 조건에 대한 사후 조건 계약과 조건이 false인 경우 표시할 메시지를 지정합니다.

public:
 static void Ensures(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition, string userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition, string? userMessage);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Ensures : bool * string -> unit
Public Shared Sub Ensures (condition As Boolean, userMessage As String)

매개 변수

condition
Boolean

테스트할 조건식입니다. 식에는 OldValue<T>(T)Result<T>() 값이 포함될 수 있습니다.

userMessage
String

식이 true가 아니면 표시할 메시지입니다.

특성

설명

매개 변수는 condition 바깥쪽 메서드 또는 속성이 정상적으로 반환될 true 때 예상되는 사후 조건을 지정합니다.

  • 이 메서드 호출은 다른 코드 앞에 있는 메서드 또는 속성의 시작 부분에 있어야 합니다.

  • 이 계약은 클라이언트에 노출됩니다. 따라서 최소한 바깥쪽 메서드만큼 표시되는 멤버만 참조해야 합니다.

  • 이 사후 조건의 런타임 적용에는 이진 재작성기(Visual Studio Marketplace의 코드 계약 에서 사용 가능)를 사용해야 합니다.

  • userMessage 가 상수 문자열 리터럴이 아니면 도구에서 계약을 이해하지 못할 수 있습니다.

적용 대상