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 açık değildir; bu nedenle, kapsayan yöntemden daha az görünür ü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 bağlı olarak koşullu olarak tanımlanır. Çalışma zamanı denetimi sırasında, sabitler her ortak yöntemin sonunda denetleniyor. Sabit bir aynı sınıftaki bir ortak yöntemden bahsederse, normalde bu ortak yöntemin sonunda gerçekleşecek sabit denetim devre dışı bırakılır ve yalnızca bu sınıfa yapılan en dıştaki yöntem çağrısının sonunda denetlenir. Başka bir sınıftaki bir yönteme yapılan çağrı nedeniyle sınıf yeniden girilirse de bu durum ortaya çıkar.

Ş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 açık değildir; bu nedenle, kapsayan yöntemden daha az görünür ü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 ortak yöntemin sonunda denetleniyor. Sabit bir aynı sınıftaki bir ortak yöntemden bahsederse, normalde bu ortak yöntemin sonunda gerçekleşecek sabit denetim devre dışı bırakılır ve yalnızca bu sınıfa yapılan en dıştaki yöntem çağrısının sonunda denetlenir. Başka bir sınıftaki bir yönteme yapılan çağrı nedeniyle sınıf yeniden girilirse de bu durum ortaya çıkar.

Şunlara uygulanır