Contract Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zawiera metody statyczne reprezentujące kontrakty programu, takie jak warunki wstępne, terminy końcowe i niezmienne obiekty.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Dziedziczenie
-
Contract
Uwagi
Klasy kontraktów kodu umożliwiają określenie warunków wstępnych, pokondycji i niezmiennych obiektów w kodzie. Warunki wstępne są wymaganiami, które należy spełnić podczas wprowadzania metody lub właściwości. Postconditions opisują oczekiwania w czasie zakończenia metody lub kodu właściwości. Niezmienne obiekty opisują oczekiwany stan klasy, która nie ma problemów z warunkiem. Aby uzyskać więcej informacji na temat warunków wstępnych, pokondycji i niezmiennych obiektów, zobacz Code Contracts (Kontrakty kodu).
Aby uzyskać narzędzia i szczegółowe instrukcje dotyczące korzystania z kontraktów kodu, zobacz Code Contracts on the Visual Studio Marketplace ( Kontrakty kodu w witrynie Visual Studio Marketplace).
Ważne
Aby wstawić wymuszanie kontraktów w czasie wykonywania, musisz użyć binarnego ponownego tworzenia maszyny. W przeciwnym razie kontrakty, takie jak Contract.Ensures metoda, mogą być testowane statycznie i nie będą zgłaszać wyjątków w czasie wykonywania, jeśli kontrakt zostanie naruszony. Plik CCRewrite można pobrać z witryny Code Contracts w witrynie Visual Studio Marketplace. Aplikacja CCRewrite jest dostarczana z dodatkiem programu Visual Studio, który umożliwia aktywowanie wymuszania kontraktu czasu wykonywania ze strony Właściwości projektu. Binarny rewriter i dodatek programu Visual Studio nie są dostarczane z programem Visual Studio 2010 ani Windows SDK.
Metody
Assert(Boolean) |
Sprawdza warunek; jeśli warunek to |
Assert(Boolean, String) |
Sprawdza warunek; jeśli warunek to |
Assume(Boolean) |
Instruuje narzędzia do analizy kodu, aby założyć, że określony warunek to |
Assume(Boolean, String) |
Instruuje narzędzia do analizy kodu, aby zakładały, że warunek to |
EndContractBlock() |
Oznacza koniec sekcji kontraktu, gdy kontrakty metody zawierają tylko warunki wstępne w formularzu |
Ensures(Boolean) |
Określa kontrakt pokondycji dla otaczającej metody lub właściwości. |
Ensures(Boolean, String) |
Określa kontrakt postcondition dla podanego warunku zakończenia i komunikat do wyświetlenia, jeśli warunek to |
EnsuresOnThrow<TException>(Boolean) |
Określa kontrakt postcondition dla otaczającej metody lub właściwości na podstawie podanego wyjątku i warunku. |
EnsuresOnThrow<TException>(Boolean, String) |
Określa kontrakt pokondycji i komunikat do wyświetlenia, jeśli warunek jest |
Exists(Int32, Int32, Predicate<Int32>) |
Określa, czy określony test ma wartość true dla dowolnej liczby całkowitej w zakresie liczb całkowitych. |
Exists<T>(IEnumerable<T>, Predicate<T>) |
Określa, czy element w kolekcji elementów istnieje w ramach funkcji. |
ForAll(Int32, Int32, Predicate<Int32>) |
Określa, czy określony warunek jest prawidłowy dla wszystkich liczb całkowitych w określonym zakresie. |
ForAll<T>(IEnumerable<T>, Predicate<T>) |
Określa, czy wszystkie elementy w kolekcji istnieją w ramach funkcji. |
Invariant(Boolean) |
Określa niezmienny kontrakt dla otaczającej metody lub właściwości. |
Invariant(Boolean, String) |
Określa niezmienny kontrakt dla otaczającej metody lub właściwości i wyświetla komunikat, jeśli warunek kontraktu zakończy się niepowodzeniem. |
OldValue<T>(T) |
Reprezentuje wartości, które znajdowały się na początku metody lub właściwości. |
Requires(Boolean) |
Określa warunek wstępny dla metody lub właściwości otaczającej. |
Requires(Boolean, String) |
Określa warunek wstępny dla metody lub właściwości otaczającej i wyświetla komunikat, jeśli warunek kontraktu zakończy się niepowodzeniem. |
Requires<TException>(Boolean) |
Określa warunek wstępny dla metody lub właściwości otaczającej i zgłasza wyjątek, jeśli warunek kontraktu zakończy się niepowodzeniem. |
Requires<TException>(Boolean, String) |
Określa warunek wstępny dla metody lub właściwości otaczającej i zgłasza wyjątek z podanym komunikatem, jeśli warunek kontraktu zakończy się niepowodzeniem. |
Result<T>() |
Reprezentuje wartość zwracaną metody lub właściwości. |
ValueAtReturn<T>(T) |
Reprezentuje ostateczną (wyjściową) wartość parametru |
Zdarzenia
ContractFailed |
Występuje, gdy kontrakt kończy się niepowodzeniem. |