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.
Implements
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, ITemplateProviderRemarks
<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. |