This class provides services supporting Contract aspects. By adding your own classes to the ExceptionFactory chain, you can change the way the
exceptions are created when a contract is broken. By plugging into the LocalizedTextProvider chain, you can change the way the exception messages
are generated. See the documentation for the classes for more details: ContractLocalizedTextProvider, ContractExceptionFactory.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a value that
is not a valid credit card number. Null strings are accepted and do not
throw an exception.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a value that
is not a valid email address. Null strings are accepted and do not
throw an exception.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a value that
is not a valid phone number. Null strings are accepted and do not
throw an exception.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a value that
does not match a given regular expression. Null strings are accepted and do not
throw an exception.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a string of invalid length.
Null strings are accepted and do not throw an exception.

Custom attribute that, when added to a field, property or parameter, throws
an ArgumentException if the target is assigned a value that
is not a valid URL starting with http://, https:// or ftp://.
Null strings are accepted and do not
throw an exception.