MetalamaAPI documentationPatterns APIMetalama.​Patterns.​ContractsStrictly­Less­Than­Attribute
Open sandboxFocus

StrictlyLessThanAttribute Class

Custom attribute that, when added to a field, property or parameter, throws an ArgumentOutOfRangeException if the target is assigned a value that is greater than or equal to a given value.

Namespace: Metalama.Patterns.Contracts
Assembly: Metalama.Patterns.Contracts.dll
Syntax
public class StrictlyLessThanAttribute : RangeAttribute, IAspect<IParameter>, IEligible<IParameter>, IAspect<IFieldOrPropertyOrIndexer>, IEligible<IFieldOrPropertyOrIndexer>, IConditionallyInheritableAspect, IAspect, ICompileTimeSerializable, ITemplateProvider
Remarks

Null values are accepted and do not throw an exception.

Floating-point values are tested to be greater than or equal to the maximum value plus a tolerance value. The tolerance value is equal to the distance of the value closest to the maximum value according to the precision of the respective floating-point numerical data type.

Constructors

Name Description
StrictlyLessThanAttribute(Double)

Initializes a new instance of the StrictlyLessThanAttribute class specifying a floating-point bound.

StrictlyLessThanAttribute(Int64)

Initializes a new instance of the StrictlyLessThanAttribute class specifying an integer bound.

StrictlyLessThanAttribute(UInt64)

Initializes a new instance of the StrictlyLessThanAttribute class specifying an unsigned integer bound.

Methods

Name Description
OnContractViolated(Object)