Contract Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Statikus metódusokat tartalmaz a programszerződések, például az előfeltételek, a posztkondíciók és az objektum-invariánsok reprezentálására.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Öröklődés
-
Contract
Megjegyzések
A kódszerződés osztályai lehetővé teszik az előfeltételek, a postconditions és az objektum-invariánsok megadását a kódban. Az előfeltételek olyan követelmények, amelyeket meg kell felelni egy metódus vagy tulajdonság megadásakor. A postconditions az elvárásokat írja le a metódus vagy a tulajdonságkód kilépésének időpontjában. Az objektum-invariánsok egy feltételproblémával nem rendelkező osztály várt állapotát írják le. Az előfeltételekről, a posztkondíciókról és az objektum-invariánsokról további információt a Kódszerződések című témakörben talál.
A kódszerződések használatára vonatkozó eszközöket és részletes utasításokat a Kódszerződések című témakörben találja a Visual Studio Marketplace-en.
Important
A szerződések futásidejű kényszerítésének beszúrásához bináris újraírót kell használnia. Ellenkező esetben az olyan szerződések, mint a Contract.Ensures módszer, csak statikusan tesztelhetők, és nem vetnek ki kivételeket a futtatás során, ha egy szerződést megsértenek. A CCRewrite bináris újraíróját letöltheti a Kódszerződések a Visual Studio Marketplace-en. A CCRewrite egy Visual Studio bővítményt tartalmaz, amely lehetővé teszi a futásidejű szerződés kényszerítése aktiválását a projekt Properties oldalról. A bináris újraíró és a Visual Studio bővítmény nem a 2010-Visual Studio vagy a Windows SDK-val szállít.
Metódusok
| Name | Description |
|---|---|
| Assert(Boolean, String) |
Feltétel ellenőrzése; ha a feltétel az |
| Assert(Boolean) |
Feltétel ellenőrzése; ha a feltétel az |
| Assume(Boolean, String) |
A kódelemzési eszközöket arra utasítja, hogy feltételezze, hogy egy feltétel |
| Assume(Boolean) |
A kódelemzési eszközöket arra utasítja, hogy feltételezik, hogy a megadott feltétel |
| EndContractBlock() |
A szerződésszakasz végét jelöli meg, ha egy metódus szerződései csak előfeltételeket tartalmaznak az |
| Ensures(Boolean, String) |
Megadja a megadott kilépési feltételhez tartozó utólagos szerződést, és egy üzenet jelenik meg, ha a feltétel . |
| Ensures(Boolean) |
A beágyazási módszer vagy tulajdonság utólagos szerződését adja meg. |
| EnsuresOnThrow<TException>(Boolean, String) |
A megadott kivétel és feltétel alapján megad egy utókondíciós szerződést és egy megjelenítendő üzenetet, ha a feltétel |
| EnsuresOnThrow<TException>(Boolean) |
A megadott kivétel és feltétel alapján megad egy utókondíciós szerződést a beágyazási módszerhez vagy tulajdonsághoz. |
| Exists(Int32, Int32, Predicate<Int32>) |
Meghatározza, hogy egy megadott teszt igaz-e az egész számok tartományán belüli összes egész számra. |
| Exists<T>(IEnumerable<T>, Predicate<T>) |
Meghatározza, hogy egy elemgyűjteményen belüli elem létezik-e egy függvényben. |
| ForAll(Int32, Int32, Predicate<Int32>) |
Meghatározza, hogy egy adott feltétel érvényes-e egy adott tartomány összes egész számára. |
| ForAll<T>(IEnumerable<T>, Predicate<T>) |
Meghatározza, hogy a gyűjtemény összes eleme létezik-e egy függvényen belül. |
| Invariant(Boolean, String) |
Invariáns szerződést ad meg a beágyazási módszerhez vagy tulajdonsághoz, és üzenet jelenik meg, ha a szerződés feltételei meghiúsulnak. |
| Invariant(Boolean) |
Invariáns szerződést ad meg a beágyazási módszerhez vagy tulajdonsághoz. |
| OldValue<T>(T) |
Olyan értékeket jelöl, mint egy metódus vagy tulajdonság elején. |
| Requires(Boolean, String) |
Előfeltétel-szerződést ad meg a beágyazási módszerhez vagy tulajdonsághoz, és üzenet jelenik meg, ha a szerződés feltételei meghiúsulnak. |
| Requires(Boolean) |
A beágyazási módszerhez vagy tulajdonsághoz egy előfeltételi szerződést ad meg. |
| Requires<TException>(Boolean, String) |
Előfeltétel-szerződést ad meg a beágyazási módszerhez vagy tulajdonsághoz, és kivételt küld a megadott üzenettel, ha a szerződés feltétele meghiúsul. |
| Requires<TException>(Boolean) |
Előfeltétel-szerződést ad meg a beágyazási módszerhez vagy tulajdonsághoz, és kivételt jelez, ha a szerződés feltétele meghiúsul. |
| Result<T>() |
Egy metódus vagy tulajdonság visszatérési értékét jelöli. |
| ValueAtReturn<T>(T) |
Egy paraméter végső (kimeneti) értékét |
esemény
| Name | Description |
|---|---|
| ContractFailed |
Akkor fordul elő, ha egy szerződés meghiúsul. |