Contract Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ön koşul, son koşul ve nesne sabitleri gibi program sözleşmelerini temsil etmek için statik yöntemler içerir.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Devralma
-
Contract
Açıklamalar
Kod sözleşmesi sınıfları, kodunuzda önkoşulları, sonkoşulları ve nesne sabitlerini belirtmenize olanak sağlar. Önkoşullar, bir yöntem veya özellik girilirken karşılanması gereken gereksinimlerdir. Son koşullarda yöntem veya özellik kodundan çıkıldığı sırada beklentiler açıklanır. Nesne sabitleri, koşul sorunu olmayan bir sınıf için beklenen durumu açıklar. Önkoşullar, son koşul ve nesne sabitleri hakkında daha fazla bilgi için bkz. Kod Sözleşmeleri.
Kod sözleşmelerini kullanmaya yönelik araçlar ve ayrıntılı yönergeler için bkz. Visual Studio Market'te Kod Sözleşmeleri .
Önemli
Sözleşmelerin çalışma zamanı zorlamasını eklemek için ikili bir yeniden yazma kullanmanız gerekir. Aksi takdirde, yöntemi gibi Contract.Ensures sözleşmeler yalnızca statik olarak test edilebilir ve bir sözleşme ihlal edilirse çalışma zamanında özel durum oluşturmaz. İkili yeniden yazan CCRewrite dosyasını Visual Studio Market'te Kod Sözleşmeleri'nden indirebilirsiniz. CCRewrite, proje Özellikleri sayfasından çalışma zamanı sözleşme zorlamasını etkinleştirmenizi sağlayan bir Visual Studio eklentisiyle birlikte gelir. İkili yeniden yazma ve Visual Studio eklentisi Visual Studio 2010 veya Windows SDK ile birlikte gösterilmez.
Yöntemler
Assert(Boolean) |
Bir koşulu denetler; koşul ise |
Assert(Boolean, String) |
Bir koşulu denetler; koşul ise |
Assume(Boolean) |
Kod çözümleme araçlarına, statik olarak her zaman |
Assume(Boolean, String) |
Kod çözümleme araçlarına, bir koşulun |
EndContractBlock() |
Bir yöntemin sözleşmeleri formda yalnızca önkoşullar içerdiğinde |
Ensures(Boolean) |
Kapsayan yöntem veya özellik için bir son koşul sözleşmesi belirtir. |
Ensures(Boolean, String) |
Sağlanan çıkış koşulu için bir son koşul sözleşmesi ve koşul ise |
EnsuresOnThrow<TException>(Boolean) |
Sağlanan özel duruma ve koşula bağlı olarak, kapsayan yöntem veya özellik için bir önkoşul sözleşmesi belirtir. |
EnsuresOnThrow<TException>(Boolean, String) |
Koşul, sağlanan özel durum ve koşula |
Exists(Int32, Int32, Predicate<Int32>) |
Belirtilen testin bir tamsayı aralığındaki herhangi bir tamsayı için doğru olup olmadığını belirler. |
Exists<T>(IEnumerable<T>, Predicate<T>) |
Bir öğe koleksiyonu içindeki bir öğenin bir işlev içinde var olup olmadığını belirler. |
ForAll(Int32, Int32, Predicate<Int32>) |
Belirli bir koşulun belirtilen aralıktaki tüm tamsayılar için geçerli olup olmadığını belirler. |
ForAll<T>(IEnumerable<T>, Predicate<T>) |
Bir koleksiyondaki tüm öğelerin bir işlev içinde bulunup bulunmadığını belirler. |
Invariant(Boolean) |
Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir. |
Invariant(Boolean, String) |
Kapsayan yöntem veya özellik için sabit bir sözleşme belirtir ve sözleşme koşulu başarısız olursa bir ileti görüntüler. |
OldValue<T>(T) |
Bir yöntemin veya özelliğin başındaki değerleri temsil eder. |
Requires(Boolean) |
Kapsayan yöntem veya özellik için bir önkoşul sözleşmesi belirtir. |
Requires(Boolean, String) |
Kapsayan yöntem veya özellik için bir önkoşul sözleşmesi belirtir ve sözleşme koşulu başarısız olursa bir ileti görüntüler. |
Requires<TException>(Boolean) |
Kapsayan yöntem veya özellik için bir önkoşul sözleşmesi belirtir ve sözleşme koşulu başarısız olursa bir özel durum oluşturur. |
Requires<TException>(Boolean, String) |
Kapsayan yöntem veya özellik için bir önkoşul sözleşmesi belirtir ve sözleşme koşulu başarısız olursa sağlanan iletiyle bir özel durum oluşturur. |
Result<T>() |
Bir yöntemin veya özelliğin dönüş değerini temsil eder. |
ValueAtReturn<T>(T) |
Bir yöntemden dönerken parametrenin |
Ekinlikler
ContractFailed |
Sözleşme başarısız olduğunda gerçekleşir. |
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin