Share via


Contract.Ensures Metode

Definisi

Menentukan kontrak pascakondisi untuk metode atau properti penutup.

Overload

Ensures(Boolean)

Menentukan kontrak pascakondisi untuk metode atau properti penutup.

Ensures(Boolean, String)

Menentukan kontrak pascakondisi untuk kondisi keluar yang disediakan dan pesan yang akan ditampilkan jika kondisinya adalah false.

Ensures(Boolean)

Sumber:
Contracts.cs
Sumber:
Contracts.cs
Sumber:
Contracts.cs

Menentukan kontrak pascakondisi untuk metode atau properti penutup.

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)

Parameter

condition
Boolean

Ekspresi bersyarah untuk diuji. Ekspresi dapat mencakup OldValue<T>(T)nilai , ValueAtReturn<T>(T), dan Result<T>() .

Atribut

Contoh

Contoh berikut menunjukkan cara menggunakan Ensures metode untuk memastikan bahwa nilai yang diharapkan dikembalikan. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ContractClassAttribute kelas .

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

Keterangan

Parameter condition menentukan pascakondisi yang diharapkan ketika true metode atau properti penutup kembali secara normal.

  • Panggilan metode ini harus berada di awal metode atau properti, sebelum kode lainnya.

  • Anda harus menggunakan penulis ulang biner (tersedia di Kontrak Kode di Visual Studio Marketplace) untuk penegakan run-time pascakondisi ini.

Berlaku untuk

Ensures(Boolean, String)

Sumber:
Contracts.cs
Sumber:
Contracts.cs
Sumber:
Contracts.cs

Menentukan kontrak pascakondisi untuk kondisi keluar yang disediakan dan pesan yang akan ditampilkan jika kondisinya adalah false.

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)

Parameter

condition
Boolean

Ekspresi bersyarah untuk diuji. Ekspresi dapat mencakup OldValue<T>(T) nilai dan Result<T>() .

userMessage
String

Pesan yang akan ditampilkan jika ekspresi bukan true.

Atribut

Keterangan

Parameter condition menentukan pascakondisi yang diharapkan ketika true metode atau properti penutup kembali secara normal.

  • Panggilan metode ini harus berada di awal metode atau properti, sebelum kode lainnya.

  • Kontrak ini diekspos ke klien; oleh karena itu, itu hanya harus mereferensikan anggota yang setidaknya terlihat sebagai metode penutup.

  • Anda harus menggunakan penulis ulang biner (tersedia di Kontrak Kode di Visual Studio Marketplace) untuk penegakan run-time pascakondisi ini.

  • Jika userMessage bukan string konstan, kontrak mungkin tidak dipahami oleh alat.

Berlaku untuk