Back to Devexpress

Exit Method Contract

coderushforroslyn-115562-coding-assistance-code-providers-contract-providers-exit-method-contract.md

latest2.3 KB
Original Source

Exit Method Contract

  • Aug 03, 2020
  • 2 minutes to read

Purpose

This Code Provider adds the guard precondition to method parameter(s) or a variable assignment. The precondition ensures the passed or assigned values are not empty and exits the method in case they are.

Availability

Available in the following cases.

  • When the caret is at the beginning of a method body. In this case, the contract will test all method parameters and strings.
  • When the caret is on a method’s parameter name. In this case, the contract will test only the selected parameter.
  • When the caret is on a variable assignment.

Note

This Code Provider may be unavailable for variables of a non-nullable type, for instance, Integer.

Usage

  1. Place the caret at the beginning of a method body.

  2. Press the Ctrl + . or Ctrl + ~ shortcut to invoke the Code Actions menu.

  3. Select Add Contract | Exit Method Contract from the menu.

After execution, the Code Provider adds the guard conditional against all the method parameters.

csharp
public bool AddRecord(string name, object data) {
    if (string.IsNullOrEmpty(name) || data == null)
        return false;

    //...
    return true;
}
vb
Public Function AddRecord(ByVal name As String, ByVal data As Object) As Boolean
    If String.IsNullOrEmpty(name) OrElse data Is Nothing Then
        Return False
    End If

    '... 
    Return True
End Function

You can ask CodeRush to check arrays and collections length in code contracts. Refer to the Code Actions Settings topic for more information.

See Also

Throw Exceptions Contract

Requires Contract

Invariant Contract

Assume Contract

Assert Contract