Я пытаюсь реализовать что-то похожее на IntegerAboveThresholdAttribute за исключением того, что оно должно работать с десятичными знаками.
Это моя реализация, использующая его как BusinessException
[DecimalAboveThreshold(typeof(BusinessException), 10000m, ErrorMessage = "Dollar Value must be 10000 or lower.")]
Однако я получаю сообщение о том, что атрибут должен быть выражением константы, выражением typeof или выражением создания массива типа параметра атрибута. Мне было интересно, если это можно исправить, а если нет, можно ли сделать что-то подобное?
Вот исходный код для DecimalAboveThresholdAttribute:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreLib.Messaging;
namespace (*removed*)
{
public class DecimalBelowThresholdAttribute : BusinessValidationAttribute
{
private decimal _Threshold;
public DecimalBelowThresholdAttribute(Type exceptionToThrow, decimal threshold)
: base(exceptionToThrow)
{
_Threshold = threshold;
}
protected override bool Validates(decimal value)
{
return (decimal)value < _Threshold;
}
}
}
Я также хотел бы знать, могу ли я сделать это и с DateTimes.