Open sandboxFocus

Class EnumDataTypeAttribute

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 member of an enumeration.

Inheritance
EnumDataTypeAttribute
Namespace: Metalama.Patterns.Contracts
Assembly: Metalama.Patterns.Contracts.dll
Syntax
public sealed class EnumDataTypeAttribute : ContractBaseAttribute, IAspect<IParameter>, IEligible<IParameter>, IAspect<IFieldOrPropertyOrIndexer>, IEligible<IFieldOrPropertyOrIndexer>, IConditionallyInheritableAspect, IAspect, ICompileTimeSerializable, ITemplateProvider
Remarks
<p>Strings are matched against enumeration member names. Integers

are matched against enumeration member values. If the target is a nullable type, null values are accepted and do not throw exception.

Constructors

Name Description
EnumDataTypeAttribute(Type)

Initializes a new instance of the EnumDataTypeAttribute class.

Properties

Name Description
EnumType

Gets the enumeration type.

Methods

Name Description
BuildEligibility(IEligibilityBuilder<IFieldOrPropertyOrIndexer>)

Configures the eligibility of the aspect or attribute by defining rules that determine which declarations the aspect can be applied to.

BuildEligibility(IEligibilityBuilder<IParameter>)

Configures the eligibility of the aspect or attribute by defining rules that determine which declarations the aspect can be applied to.

Validate(dynamic?)

The template method that validates or normalizes the value of a field, property, indexer, or parameter.

Extension Methods

See Also