Contract.Invariant Yöntem

Tanım

Kapsayan yöntem veya özellik için bir sözleşme belirtir.

Aşırı Yüklemeler

Invariant(Boolean)

Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir.

Invariant(Boolean, String)

Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir ve sözleşme koşulu başarısız olursa bir ileti görüntüler.

Invariant(Boolean)

Kaynak:
Contracts.cs
Kaynak:
Contracts.cs
Kaynak:
Contracts.cs

Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir.

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)

Parametreler

condition
Boolean

Test etmek için koşullu ifade.

Öznitelikler

Açıklamalar

Invariant contracts özniteliği tarafından tanımlanan bir yöntemin ContractInvariantMethodAttribute içinde yer alır; genellikle yöntemi olarak adlandırılır ObjectInvariant.

  • Bu sözleşme yalnızca bir sınıfta bildirilen ayrılmış sabit bir yöntemde belirtilebilir. Yöntem korumalı değilse, alt sınıfların sabitleri koruduğundan emin olabilmesi için özel üyelere değil yalnızca korumalı üyelere başvurması gerekir.

  • Bu sözleşme istemcilere sunulmaz; bu nedenle, kapsayan yöntemden daha az görünür olan üyelere başvurabilir.

  • Bu sabitin çalışma zamanı zorlaması için ikili yeniden yazanı kullanmanız gerekir.

  • Sabit değerler, sembolün varlığına CONTRACTS FULL göre koşullu olarak tanımlanır. Çalışma zamanı denetimi sırasında, sabitler her genel yöntemin sonunda denetleniyor. Sabit bir aynı sınıftaki bir ortak yöntemden bahsederse, normalde bu genel yöntemin sonunda gerçekleşecek sabit denetim devre dışı bırakılır ve yalnızca en dıştaki yöntemin sonunda bu sınıfa çağrı yapılır. Bu durum, başka bir sınıftaki bir yönteme yapılan çağrı nedeniyle sınıfın yeniden girilmiş olması durumunda da gerçekleşir.

Şunlara uygulanır

Invariant(Boolean, String)

Kaynak:
Contracts.cs
Kaynak:
Contracts.cs
Kaynak:
Contracts.cs

Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir ve sözleşme koşulu başarısız olursa bir ileti görüntüler.

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)

Parametreler

condition
Boolean

Test etmek için koşullu ifade.

userMessage
String

Koşul ise görüntülenecek ileti.false

Öznitelikler

Açıklamalar

Invariant contracts özniteliği tarafından tanımlanan bir yöntemin ContractInvariantMethodAttribute içinde yer alır; genellikle yöntemi olarak adlandırılır ObjectInvariant.

  • Bu sözleşme yalnızca bir sınıfta bildirilen ayrılmış sabit bir yöntemde belirtilebilir.

  • Bu sözleşme istemcilere sunulmaz; bu nedenle, kapsayan yöntemden daha az görünür olan üyelere başvurabilir.

  • Bu sabitin çalışma zamanı zorlaması için ikili yeniden yazanı kullanmanız gerekir.

  • Sabit değerler, sembolde CONTRACTS FULL koşullu olarak tanımlanır. Çalışma zamanı denetimi sırasında, sabitler her genel yöntemin sonunda denetleniyor. Sabit bir aynı sınıftaki bir ortak yöntemden bahsederse, normalde bu genel yöntemin sonunda gerçekleşecek sabit denetim devre dışı bırakılır ve yalnızca en dıştaki yöntemin sonunda bu sınıfa çağrı yapılır. Bu durum, başka bir sınıftaki bir yönteme yapılan çağrı nedeniyle sınıfın yeniden girilmiş olması durumunda da gerçekleşir.

Şunlara uygulanır