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. Pascakondisi menjelaskan harapan pada saat metode atau kode properti keluar. 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 Kode di Visual Studio Marketplace.
Penting
Anda harus menggunakan penulis ulang biner untuk menyisipkan penegakan kontrak run-time. Jika tidak, kontrak seperti metode Contract.Ensures 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 halaman Properti
Metode
| Assert(Boolean, String) |
Memeriksa kondisi; jika kondisinya |
| Assert(Boolean) |
Memeriksa kondisi; jika kondisinya |
| Assume(Boolean, String) |
Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi |
| Assume(Boolean) |
Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi yang ditentukan |
| EndContractBlock() |
Menandai akhir bagian kontrak saat kontrak metode hanya berisi prasyarat dalam formulir |
| Ensures(Boolean, String) |
Menentukan kontrak pascakondisi untuk kondisi keluar yang disediakan dan pesan yang akan ditampilkan jika kondisinya |
| Ensures(Boolean) |
Menentukan kontrak pascakondisi untuk metode atau properti penutup. |
| EnsuresOnThrow<TException>(Boolean, String) |
Menentukan kontrak pascakondisi dan pesan yang akan ditampilkan jika kondisi |
| 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 akhir (output) dari parameter |
Acara
| ContractFailed |
Terjadi ketika kontrak gagal. |