Contract.Ensures Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kapsayan yöntem veya özellik için bir son koşul sözleşmesi belirtir.
Aşırı Yüklemeler
Ensures(Boolean) |
Kapsayan yöntem veya özellik için bir son koşul sözleşmesi belirtir. |
Ensures(Boolean, String) |
Sağlanan çıkış koşulu için bir son koşul sözleşmesi ve koşul |
Ensures(Boolean)
- Kaynak:
- Contracts.cs
- Kaynak:
- Contracts.cs
- Kaynak:
- Contracts.cs
Kapsayan yöntem veya özellik için bir son koşul sözleşmesi belirtir.
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)
Parametreler
- condition
- Boolean
Test etmek için koşullu ifade. İfade , ValueAtReturn<T>(T)ve Result<T>() değerlerini içerebilirOldValue<T>(T).
- Öznitelikler
Örnekler
Aşağıdaki örnekte, beklenen bir değerin Ensures döndürülmesini sağlamak için yönteminin nasıl kullanılacağı gösterilmektedir. Bu kod örneği, sınıfı için ContractClassAttribute sağlanan daha büyük bir örneğin parçasıdır.
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
Açıklamalar
parametresi, condition
kapsayan yöntem veya özellik normal şekilde döndürdüğünde olması true
beklenen bir son koşul belirtir.
Bu yöntem çağrısı, diğer kodlardan önce bir yöntemin veya özelliğin başında olmalıdır.
Bu son koşulun çalışma zamanı zorlaması için ikili yeniden yazma aracını (Visual Studio Market'teki Kod Sözleşmeleri'nde kullanılabilir) kullanmanız gerekir.
Şunlara uygulanır
Ensures(Boolean, String)
- Kaynak:
- Contracts.cs
- Kaynak:
- Contracts.cs
- Kaynak:
- Contracts.cs
Sağlanan çıkış koşulu için bir son koşul sözleşmesi ve koşul false
ise görüntülenecek bir ileti belirtir.
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)
Parametreler
- condition
- Boolean
Test etmek için koşullu ifade. İfade ve Result<T>() değerlerini içerebilirOldValue<T>(T).
- userMessage
- String
İfade değilse true
görüntülenecek ileti.
- Öznitelikler
Açıklamalar
parametresi, condition
kapsayan yöntem veya özellik normal şekilde döndürdüğünde olması true
beklenen bir son koşul belirtir.
Bu yöntem çağrısı, diğer kodlardan önce bir yöntemin veya özelliğin başında olmalıdır.
Bu sözleşme istemcilere sunulur; bu nedenle, yalnızca en az kapsayan yöntem kadar görünür olan üyelere başvurması gerekir.
Bu son koşulun çalışma zamanı zorlaması için ikili yeniden yazma aracını (Visual Studio Market'teki Kod Sözleşmeleri'nde kullanılabilir) kullanmanız gerekir.
Sabit bir dize değişmez değeri değilse
userMessage
, sözleşme araçlar tarafından anlaşılamayabilir.