Contract Kelas

Definisi

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 false, mengikuti kebijakan eskalasi yang ditetapkan oleh penganalisis dan menampilkan pesan yang ditentukan.

Assert(Boolean)

Memeriksa kondisi; jika kondisinya adalah false, mengikuti kebijakan eskalasi yang ditetapkan untuk penganalisis.

Assume(Boolean, String)

Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi adalah true, bahkan jika tidak dapat terbukti secara statis selalu true, dan menampilkan pesan jika asumsi gagal.

Assume(Boolean)

Menginstruksikan alat analisis kode untuk mengasumsikan bahwa kondisi yang ditentukan adalah true, bahkan jika tidak dapat dibuktikan secara statis untuk selalu true.

EndContractBlock()

Menandai akhir bagian kontrak saat kontrak metode hanya berisi prasyarat dalam if-then-throw formulir.

Ensures(Boolean, String)

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

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 false untuk metode atau properti penutup, berdasarkan pengecualian dan kondisi yang disediakan.

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 out akhir (output) parameter saat kembali dari metode.

Acara

Nama Deskripsi
ContractFailed

Terjadi ketika kontrak gagal.

Berlaku untuk