Contract 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
사전 조건, 사후 조건, 개체 고정 조건 같은 프로그램 계약을 나타내는 정적 메서드가 포함됩니다.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- 상속
-
Contract
설명
코드 계약 클래스를 사용하면 코드에서 사전 조건, 사후 조건 및 개체 고정을 지정할 수 있습니다. 사전 조건은 메서드 또는 속성을 입력할 때 충족해야 하는 요구 사항입니다. 사후 조건은 메서드 또는 속성 코드가 종료될 때의 기대치를 설명합니다. 개체 고정은 조건 문제가 없는 클래스의 예상 상태를 설명합니다. 사전 조건, 사후 조건 및 개체 고정에 대한 자세한 내용은 코드 계약을 참조하세요.
코드 계약 사용에 대한 도구 및 자세한 지침은 Visual Studio Marketplace의 코드 계약을 참조하세요.
중요
이진 재작성기를 사용하여 계약의 런타임 적용을 삽입해야 합니다. 그렇지 않으면 메서드와 같은 Contract.Ensures 계약은 정적으로만 테스트할 수 있으며 계약을 위반하는 경우 런타임 동안 예외를 throw하지 않습니다. Visual Studio Marketplace의 코드 계약 에서 이진 재작성기 CCRewrite를 다운로드할 수 있습니다. CCRewrite에는 프로젝트 속성 페이지에서 런타임 계약 적용을 활성화할 수 있는 Visual Studio 추가 기능이 함께 제공됩니다. 이진 재작성기 및 Visual Studio 추가 기능은 Visual Studio 2010 또는 Windows SDK 함께 제공되지 않습니다.
메서드
Assert(Boolean) |
조건을 확인합니다. 조건이 |
Assert(Boolean, String) |
조건을 확인합니다. 조건이 |
Assume(Boolean) |
조건이 항상 |
Assume(Boolean, String) |
조건이 항상 |
EndContractBlock() |
메서드의 계약에 |
Ensures(Boolean) |
바깥쪽 메서드 또는 속성에 대한 사후 조건 계약을 지정합니다. |
Ensures(Boolean, String) |
제공된 종료 조건에 대한 사후 조건 계약과 조건이 |
EnsuresOnThrow<TException>(Boolean) |
제공된 예외와 조건에 따라 바깥쪽 메서드 또는 속성에 대한 사후 조건 계약을 지정합니다. |
EnsuresOnThrow<TException>(Boolean, String) |
제공된 예외와 조건에 따라 바깥쪽 메서드 또는 속성에 대한 해당 조건이 |
Exists(Int32, Int32, Predicate<Int32>) |
정수 범위 내의 정수에 대해 지정된 테스트가 true인지 여부를 확인합니다. |
Exists<T>(IEnumerable<T>, Predicate<T>) |
요소 컬렉션에 속하는 요소가 함수에 존재하는지 확인합니다. |
ForAll(Int32, Int32, Predicate<Int32>) |
지정된 범위의 모든 정수에 대해 특정 조건이 유효한지 여부를 확인합니다. |
ForAll<T>(IEnumerable<T>, Predicate<T>) |
컬렉션의 모든 요소가 함수에 존재하는지 확인합니다. |
Invariant(Boolean) |
바깥쪽 메서드 또는 속성에 대한 고정 계약을 지정합니다. |
Invariant(Boolean, String) |
바깥쪽 메서드나 속성에 대한 invariant 계약을 지정하고 계약의 조건이 실패한 경우 메시지를 표시합니다. |
OldValue<T>(T) |
값을 메서드나 속성의 시작 위치에 있었던 그대로 나타냅니다. |
Requires(Boolean) |
바깥쪽 메서드 또는 속성에 대한 사전 조건 계약을 지정합니다. |
Requires(Boolean, String) |
바깥쪽 메서드나 속성에 대한 사전 조건 계약을 지정하고 계약의 조건이 실패한 경우 메시지를 표시합니다. |
Requires<TException>(Boolean) |
바깥쪽 메서드나 속성에 대한 사전 조건 계약을 지정하고 계약의 조건이 실패한 경우 예외를 throw합니다. |
Requires<TException>(Boolean, String) |
바깥쪽 메서드 또는 속성에 대한 사전 조건 계약을 지정하고 계약의 조건이 실패할 경우 제공된 메시지와 함께 예외를 throw합니다. |
Result<T>() |
메서드나 속성의 반환 값을 나타냅니다. |
ValueAtReturn<T>(T) |
메서드에서 반환되는 |
이벤트
ContractFailed |
계약이 실패한 경우 발생합니다. |
적용 대상
.NET