Contract Kelas
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.
Berisi metode statis untuk mewakili kontrak program seperti prasyarat, pascakondisi, dan invarian objek.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Warisan
-
Contract
Keterangan
Kelas kontrak kode memungkinkan Anda menentukan prasyarat, pascakondisi, dan invarian objek dalam kode Anda. Prasyarat adalah persyaratan yang harus dipenuhi saat memasukkan metode atau properti. Pasca-kondisi menjelaskan harapan saat eksekusi metode atau kode properti selesai. Invarian objek menjelaskan status yang diharapkan untuk kelas yang tidak memiliki masalah kondisi. Untuk informasi selengkapnya tentang prasyarat, pascakondisi, dan invarian objek, lihat Kontrak Kode.
Untuk alat dan instruksi terperinci untuk menggunakan kontrak kode, lihat kontrak Code di Marketplace Visual Studio.
Important
Anda harus menggunakan penulis ulang biner untuk menyisipkan penegakan kontrak run-time. Jika tidak, kontrak seperti Contract.Ensures metode hanya dapat diuji secara statis dan tidak akan melemparkan pengecualian selama run time jika kontrak dilanggar. Anda dapat mengunduh rewriter biner CCRewrite dari Code Contracts di Visual Studio Marketplace. CCRewrite dilengkapi dengan add-in Visual Studio yang memungkinkan Anda mengaktifkan penegakan kontrak run-time dari proyek Properties halaman. Penulis ulang biner dan add-in Visual Studio tidak dikirim dengan Visual Studio 2010 atau SDK Windows.
Metode
| Nama | Deskripsi |
|---|---|
| Assert(Boolean, String) |
Memeriksa kondisi; jika kondisinya adalah |
| Assert(Boolean) |
Memeriksa kondisi; jika kondisinya adalah |
| Assume(Boolean, String) |
Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi adalah |
| Assume(Boolean) |
Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi yang ditentukan adalah |
| EndContractBlock() |
Menandai akhir bagian kontrak saat kontrak metode hanya berisi prasyarat dalam |
| Ensures(Boolean, String) |
Menentukan kontrak pascakondisi untuk kondisi keluar yang disediakan dan pesan yang akan ditampilkan jika kondisinya adalah |
| Ensures(Boolean) |
Menentukan kontrak pascakondisi untuk metode atau properti penutup. |
| EnsuresOnThrow<TException>(Boolean, String) |
Menentukan kontrak pascakondisi dan pesan yang akan ditampilkan jika kondisinya adalah |
| EnsuresOnThrow<TException>(Boolean) |
Menentukan kontrak pascakondisi untuk metode atau properti penutup, berdasarkan pengecualian dan kondisi yang disediakan. |
| Exists(Int32, Int32, Predicate<Int32>) |
Menentukan apakah pengujian yang ditentukan benar untuk bilangan bulat apa pun dalam rentang bilangan bulat. |
| Exists<T>(IEnumerable<T>, Predicate<T>) |
Menentukan apakah elemen dalam kumpulan elemen ada dalam fungsi. |
| ForAll(Int32, Int32, Predicate<Int32>) |
Menentukan apakah kondisi tertentu valid untuk semua bilangan bulat dalam rentang tertentu. |
| ForAll<T>(IEnumerable<T>, Predicate<T>) |
Menentukan apakah semua elemen dalam koleksi ada dalam fungsi. |
| Invariant(Boolean, String) |
Menentukan kontrak invarian untuk metode atau properti penutup, dan menampilkan pesan jika kondisi untuk kontrak gagal. |
| Invariant(Boolean) |
Menentukan kontrak invarian untuk metode atau properti penutup. |
| OldValue<T>(T) |
Mewakili nilai sebagaimana adanya di awal metode atau properti. |
| Requires(Boolean, String) |
Menentukan kontrak prasyarat untuk metode atau properti penutup, dan menampilkan pesan jika kondisi untuk kontrak gagal. |
| Requires(Boolean) |
Menentukan kontrak prasyarat untuk metode atau properti penutup. |
| Requires<TException>(Boolean, String) |
Menentukan kontrak prasyarat untuk metode atau properti penutup, dan melemparkan pengecualian dengan pesan yang disediakan jika kondisi untuk kontrak gagal. |
| Requires<TException>(Boolean) |
Menentukan kontrak prasyarat untuk metode atau properti penutup, dan melemparkan pengecualian jika kondisi untuk kontrak gagal. |
| Result<T>() |
Mewakili nilai pengembalian metode atau properti. |
| ValueAtReturn<T>(T) |
Mewakili nilai |
Acara
| Nama | Deskripsi |
|---|---|
| ContractFailed |
Terjadi ketika kontrak gagal. |