NHibernate Десятичный Валидатор - PullRequest
1 голос
/ 18 ноября 2010

Я пытаюсь использовать валидатор DecimalMin из библиотеки NHibernates Validator. К сожалению, из-за ограничений компилятора я получаю ошибки при попытке его использовать. Я уверен, что это что-то простое, но я нахожусь в такой точке, когда мне нужно перейти к другой задаче и больше не тратить время на ее выполнение, поэтому любая помощь будет оценена.

    [DecimalMin(10.01)]
    public decimal Amount { get; set; }

Приведенный выше код использует атрибут DecimalMin со значением конструктора 10.01. Конструктор Атрибута принимает десятичные значения. Однако компилятор не допустит 10.01 или 10.01m.

С 10.01 в качестве значения, которое я получаю: "Невозможно преобразовать тип источника" double "в целевой тип" decimal "

Получив значение 10.01m, полученное мной: «Аргументом атрибута должно быть постоянное выражение, тип выражения или выражение создания массива типа параметра атрибута.»

Я гуглил, пытаясь найти ответ, и мой гугл-фу меня сегодня подводит.

У кого-нибудь есть пример использования этого валидатора?

1 Ответ

2 голосов
/ 18 ноября 2010

Это ошибка в NHibernate.Validator. Десятичные дроби не представляются в параметрах атрибута.

использовать десятичные значения в качестве параметров атрибута в c #?

Решение заключается в исправлении NHibernate.Validator, чтобы конструктор занимал число с плавающей или двойной точностью, а затем выполнял преобразование в десятичное число в ctor. Жаль, что у меня нет лучшего ответа для вас.

...