The System.Diagnostics.Contracts namespace contains static classes for representing program contracts such as preconditions, postconditions, and invariants.
| Type | Reason |
|---|---|
| Contract |
Contains static methods for representing program contracts such as preconditions, postconditions, and object invariants. |
| ContractAbbreviatorAttribute |
Defines abbreviations that you can use in place of the full contract syntax. |
| ContractArgumentValidatorAttribute |
Enables the factoring of legacy if-then-throw code into separate methods for reuse, and provides full control over thrown exceptions and arguments. |
| ContractClassAttribute |
Specifies that a separate type contains the code contracts for this type. |
| ContractClassForAttribute |
Specifies that a class is a contract for a type. |
| ContractFailedEventArgs |
Provides methods and data for the System.Diagnostics.Contracts.Contract.ContractFailed event. |
| ContractFailureKind |
Specifies the type of contract that failed. |
| ContractInvariantMethodAttribute |
Marks a method as being the invariant method for a class. |
| ContractOptionAttribute |
Enables you to set contract and tool options at assembly, type, or method granularity. |
| ContractPublicPropertyNameAttribute |
Specifies that a field can be used in method contracts when the field has less visibility than the method. |
| ContractReferenceAssemblyAttribute |
Specifies that an assembly is a reference assembly that contains contracts. |
| ContractRuntimeIgnoredAttribute |
Identifies a member that has no run-time behavior. |
| ContractVerificationAttribute |
Instructs analysis tools to assume the correctness of an assembly, type, or member without performing static verification. |
| PureAttribute |
Indicates that a type or method is pure, that is, it does not make any visible state changes. |