Contract Klass

Definition

Innehåller statiska metoder för att representera programkontrakt, till exempel förhandsvillkor, postkonditioner och objektvarianter.

public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
Arv
Contract

Kommentarer

Med kodkontraktsklasser kan du ange förhandsvillkor, postkonditioner och objektvarianter i koden. Förhandsvillkor är krav som måste uppfyllas när du anger en metod eller egenskap. Postconditions beskriver förväntningar när metoden eller egenskapskoden avslutas. Objektvarianter beskriver det förväntade tillståndet för en klass som inte har några villkorsproblem. Mer information om förhandsvillkor, postkonditioner och objektvarianter finns i Kodkontrakt.

Verktyg och detaljerade anvisningar för hur du använder kodkontrakt finns i Code Contracts på Visual Studio Marketplace.

Important

Du måste använda en binär skrivmaskin för att infoga körningsframtvingande av kontrakt. Annars kan kontrakt som Contract.Ensures metoden bara testas statiskt och utlöser inte undantag under körningen om ett kontrakt överträds. Du kan ladda ned den binära skrivmaskinen CCRewrite från Code Contracts på Visual Studio Marketplace. CCRewrite levereras med ett Visual Studio tillägg som gör att du kan aktivera körningskontraktsframtvingande från projektet Egenskaper sida. Den binära skrivmaskinen och det Visual Studio tillägget levereras inte med Visual Studio 2010 eller Windows SDK.

Metoder

Name Description
Assert(Boolean, String)

Söker efter ett villkor. om villkoret är falseföljer eskaleringsprincipen som angetts av analysatorn och visar det angivna meddelandet.

Assert(Boolean)

Söker efter ett villkor. om villkoret är falseföljer eskaleringsprincipen som angetts för analysatorn.

Assume(Boolean, String)

Instruerar kodanalysverktygen att anta att ett villkor är true, även om det inte statiskt kan bevisas vara true, och visar ett meddelande om antagandet misslyckas.

Assume(Boolean)

Instruerar kodanalysverktyg att anta att det angivna villkoret är true, även om det inte statiskt kan bevisas vara true.

EndContractBlock()

Markerar slutet på kontraktsavsnittet när en metods kontrakt endast innehåller förhandsvillkor i if--thenthrow formuläret.

Ensures(Boolean, String)

Anger ett postcondition-kontrakt för ett angivet avslutningsvillkor och ett meddelande som ska visas om villkoret är false.

Ensures(Boolean)

Anger ett postcondition-kontrakt för den omslutande metoden eller egenskapen.

EnsuresOnThrow<TException>(Boolean, String)

Anger ett postcondition-kontrakt och ett meddelande som ska visas om villkoret är false för den omslutande metoden eller egenskapen, baserat på det angivna undantaget och villkoret.

EnsuresOnThrow<TException>(Boolean)

Anger ett postcondition-kontrakt för den omslutande metoden eller egenskapen, baserat på det angivna undantaget och villkoret.

Exists(Int32, Int32, Predicate<Int32>)

Avgör om ett angivet test är sant för alla heltal inom ett heltalsintervall.

Exists<T>(IEnumerable<T>, Predicate<T>)

Avgör om ett element i en samling element finns i en funktion.

ForAll(Int32, Int32, Predicate<Int32>)

Avgör om ett visst villkor är giltigt för alla heltal i ett angivet intervall.

ForAll<T>(IEnumerable<T>, Predicate<T>)

Avgör om alla element i en samling finns i en funktion.

Invariant(Boolean, String)

Anger ett invariant kontrakt för den omslutande metoden eller egenskapen och visar ett meddelande om villkoret för kontraktet misslyckas.

Invariant(Boolean)

Anger ett invariant kontrakt för den omslutande metoden eller egenskapen.

OldValue<T>(T)

Representerar värden som de var i början av en metod eller egenskap.

Requires(Boolean, String)

Anger ett villkorskontrakt för den omslutande metoden eller egenskapen och visar ett meddelande om villkoret för kontraktet misslyckas.

Requires(Boolean)

Anger ett förhandsvillkorskontrakt för den omslutande metoden eller egenskapen.

Requires<TException>(Boolean, String)

Anger ett förhandsvillkorskontrakt för den omslutande metoden eller egenskapen och utlöser ett undantag med det angivna meddelandet om villkoret för kontraktet misslyckas.

Requires<TException>(Boolean)

Anger ett villkorskontrakt för den omslutande metoden eller egenskapen och utlöser ett undantag om villkoret för kontraktet misslyckas.

Result<T>()

Representerar returvärdet för en metod eller egenskap.

ValueAtReturn<T>(T)

Representerar det slutliga värdet (utdata) för en out parameter när den returneras från en metod.

Händelser

Name Description
ContractFailed

Inträffar när ett kontrakt misslyckas.

Gäller för