Contract Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje statické metody pro reprezentaci programových kontraktů, jako jsou předpoklady, postconditions a invarianty objektů.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Dědičnost
-
Contract
Poznámky
Třídy kontraktů kódu umožňují zadat v kódu předpoklady, postconditions a invarianty objektů. Předpoklady jsou požadavky, které musí být splněny při zadávání metody nebo vlastnosti. Postconditions popisují očekávání v době, kdy metoda nebo kód vlastnosti skončí. Invarianty objektů popisují očekávaný stav třídy, která nemá žádné problémy s podmínkou. Další informace o předpokladech, postconditions a invariantech objektů naleznete v tématu Kontrakty kódu.
Nástroje a podrobné pokyny k používání kontraktů kódu najdete v tématu Code Contracts na Visual Studio Marketplace.
Important
K vložení vynucení kontraktů za běhu musíte použít binární rewriter. V opačném případě je možné kontrakty, jako Contract.Ensures je metoda, testovat pouze staticky a nevyvolají výjimky během doby běhu, pokud dojde k porušení smlouvy. Binární rewriter CCRewrite si můžete stáhnout z Code Contracts na Visual Studio Marketplace. CcRewrite se dodává s doplňkem Visual Studio, který umožňuje aktivovat vynucení kontraktů za běhu z projektu Properties stránky. Binární přepis a doplněk Visual Studio se nedoručují s Visual Studio 2010 ani se sadou WINDOWS SDK.
Metody
| Name | Description |
|---|---|
| Assert(Boolean, String) |
Kontroluje podmínku; pokud je |
| Assert(Boolean) |
Kontroluje podmínku; pokud je |
| Assume(Boolean, String) |
Dává nástrojům pro analýzu kódu pokyn, aby předpokládal, že podmínka je |
| Assume(Boolean) |
Dává nástroji pro analýzu kódu pokyn, aby předpokládal, že zadaná podmínka je |
| EndContractBlock() |
Označí konec oddílu smlouvy, pokud kontrakty metody obsahují pouze předběžné podmínky ve formuláři |
| Ensures(Boolean, String) |
Určuje smlouvu postcondition pro zadanou výstupní podmínku a zprávu, která se má zobrazit, pokud je |
| Ensures(Boolean) |
Určuje kontrakt postcondition pro ohraničující metodu nebo vlastnost. |
| EnsuresOnThrow<TException>(Boolean, String) |
Určuje postcondition kontrakt a zprávu, která se má zobrazit, pokud je |
| EnsuresOnThrow<TException>(Boolean) |
Určuje kontrakt postcondition pro ohraničující metodu nebo vlastnost na základě poskytnuté výjimky a podmínky. |
| Exists(Int32, Int32, Predicate<Int32>) |
Určuje, zda je zadaný test pravdivý pro libovolné celé číslo v rozsahu celých čísel. |
| Exists<T>(IEnumerable<T>, Predicate<T>) |
Určuje, zda prvek v kolekci prvků existuje v rámci funkce. |
| ForAll(Int32, Int32, Predicate<Int32>) |
Určuje, zda je určitá podmínka platná pro všechna celá čísla v zadaném rozsahu. |
| ForAll<T>(IEnumerable<T>, Predicate<T>) |
Určuje, zda všechny prvky v kolekci existují v rámci funkce. |
| Invariant(Boolean, String) |
Určuje invariantní kontrakt pro uzavřenou metodu nebo vlastnost a zobrazí zprávu, pokud podmínka kontraktu selže. |
| Invariant(Boolean) |
Určuje invariantní kontrakt pro uzavřenou metodu nebo vlastnost. |
| OldValue<T>(T) |
Představuje hodnoty tak, jak byly na začátku metody nebo vlastnosti. |
| Requires(Boolean, String) |
Určuje předběžnou smlouvu pro ohraničující metodu nebo vlastnost a zobrazí zprávu, pokud podmínka pro smlouvu selže. |
| Requires(Boolean) |
Určuje předběžnou smlouvu pro ohraničující metodu nebo vlastnost. |
| Requires<TException>(Boolean, String) |
Určuje předběžnou smlouvu pro ohraničující metodu nebo vlastnost a vyvolá výjimku se zadanou zprávou, pokud podmínka pro kontrakt selže. |
| Requires<TException>(Boolean) |
Určuje předběžnou smlouvu pro ohraničující metodu nebo vlastnost a vyvolá výjimku, pokud podmínka pro kontrakt selže. |
| Result<T>() |
Představuje návratovou hodnotu metody nebo vlastnosti. |
| ValueAtReturn<T>(T) |
Představuje konečnou (výstupní) hodnotu parametru |
Událost
| Name | Description |
|---|---|
| ContractFailed |
Nastane, když kontrakt selže. |