Contract.Invariant 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바깥쪽 메서드 또는 속성에 대한 계약을 지정합니다.
오버로드
Invariant(Boolean) |
바깥쪽 메서드 또는 속성에 대한 고정 계약을 지정합니다. |
Invariant(Boolean, String) |
바깥쪽 메서드나 속성에 대한 invariant 계약을 지정하고 계약의 조건이 실패한 경우 메시지를 표시합니다. |
Invariant(Boolean)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- Contracts.cs
바깥쪽 메서드 또는 속성에 대한 고정 계약을 지정합니다.
public:
static void Invariant(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool -> unit
Public Shared Sub Invariant (condition As Boolean)
매개 변수
- condition
- Boolean
테스트할 조건식입니다.
- 특성
설명
Invariant 계약은 특성으로 식별되는 ContractInvariantMethodAttribute 메서드 내에 포함됩니다. 일반적으로 메서드 이름은 입니다 ObjectInvariant
.
이 계약은 클래스에 선언된 전용 고정 메서드에서만 지정할 수 있습니다. 메서드가 봉인되지 않은 경우 서브클래스가 고정을 유지할 수 있도록 프라이빗 멤버가 아닌 보호된 멤버만 참조해야 합니다.
이 계약은 클라이언트에 노출되지 않습니다. 따라서 바깥쪽 메서드보다 덜 표시되는 멤버를 참조할 수 있습니다.
이 고정의 런타임 적용을 위해 이진 재작성기를 사용해야 합니다.
고정은 기호의
CONTRACTS FULL
존재에 따라 조건부로 정의됩니다. 런타임 검사 중에 각 public 메서드의 끝에서 고정을 검사합니다. 고정이 동일한 클래스에서 public 메서드를 언급하는 경우 해당 public 메서드의 끝에서 일반적으로 발생하는 고정 검사 사용하지 않도록 설정되고 해당 클래스에 대한 가장 바깥쪽 메서드 호출의 끝에서만 확인됩니다. 이는 다른 클래스의 메서드 호출로 인해 클래스가 다시 입력되는 경우에도 발생합니다.
적용 대상
Invariant(Boolean, String)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- Contracts.cs
바깥쪽 메서드나 속성에 대한 invariant 계약을 지정하고 계약의 조건이 실패한 경우 메시지를 표시합니다.
public:
static void Invariant(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string? userMessage);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool * string -> unit
Public Shared Sub Invariant (condition As Boolean, userMessage As String)
매개 변수
- condition
- Boolean
테스트할 조건식입니다.
- userMessage
- String
조건이 false
인 경우 표시할 메시지입니다.
- 특성
설명
Invariant 계약은 특성으로 식별되는 ContractInvariantMethodAttribute 메서드 내에 포함됩니다. 일반적으로 메서드 이름은 입니다 ObjectInvariant
.
이 계약은 클래스에 선언된 전용 고정 메서드에서만 지정할 수 있습니다.
이 계약은 클라이언트에 노출되지 않습니다. 따라서 바깥쪽 메서드보다 덜 표시되는 멤버를 참조할 수 있습니다.
이 고정의 런타임 적용을 위해 이진 재작성기를 사용해야 합니다.
고정은 기호에
CONTRACTS FULL
조건부로 정의됩니다. 런타임 검사 중에 각 public 메서드의 끝에서 고정을 검사합니다. 고정이 동일한 클래스에서 public 메서드를 언급하는 경우 해당 public 메서드의 끝에서 일반적으로 발생하는 고정 검사 사용하지 않도록 설정되고 해당 클래스에 대한 가장 바깥쪽 메서드 호출의 끝에서만 확인됩니다. 이는 다른 클래스의 메서드 호출로 인해 클래스가 다시 입력되는 경우에도 발생합니다.
적용 대상
.NET