Contract.Ensures Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
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.