Szukaj…


Uwagi

Aby w pełni skorzystać z Code Contracts, musisz zainstalować rozszerzenie dla Visual Studio. Istnieje również Instrukcja obsługi Kodeksów .

Standardowy warunek wstępny

using System.Diagnostics.Contracts;

public int DivideNumbers(int numerator, int denominator)
{
    Contract.Requires(denominator != 0);

    return numerator / denominator;
}

Warunek wstępny, który wywołuje określony wyjątek

using System.Diagnostics.Contracts;

public int DivideNumbers(int numerator, int denominator)
{
    Contract.Requires<ArgumentOutOfRangeException>(denominator != 0);

    return numerator / denominator;
}

Warunki wstępne i dodatkowe

using System.Diagnostics.Contracts;

public int IncrementByRandomAmount(int input)
{   
    Contract.Requires<ArgumentNullException>(input != null); // Don't allow null parameter.
    Contract.Requires<ArgumentOutOfRangeException>(input < int.MaxValue); // We can't do anything if we're given int.MaxValue.
    Contract.Ensures(Contract.Result<int>() > input); // Return value will be greater than input value.

    Random rnd = new Random();
    input += rnd.Next(1, 13); // Creates a number between 1 and 12 and adds it to input.

    return input;
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow