Pergunta

Estou tentando usar o DecimalMin validador de NHibernates Validador de biblioteca.Infelizmente, devido a limitações do compilador estou recebendo erros quando tentar utilizá-lo.Eu tenho certeza que é algo simples, mas eu estou em um ponto onde eu preciso passar para outra tarefa e não queimar mais tempo para qualquer ajuda seria apreciada.

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

O código acima usa o DecimalMin atributo com o construtor valor de 10.01.O construtor do Atributo aceita valores decimais.No entanto, o compilador não permitirá 10.01 ou 10.01 m.

Com 10.01 como o valor a receber:"Não é possível converter o tipo de fonte de 'double' para o tipo de destino 'decimal'

Com 10.01 m como o valor a receber:"Um atributo argumento deve ser uma expressão constante, tipo de expressão ou criação de matriz de expressão de um atributo de tipo de parâmetro."

Eu já pesquisei em volta para tentar encontrar uma resposta, e o meu google-fu está a falhar-me hoje.

Alguém tem um exemplo de como usar o validador?

Foi útil?

Solução

Este é um erro no NHibernate.Avaliador.Casas decimais não são representáveis em parâmetros de atributo.

usar valores decimais, como atributo de parâmetros em c#?

A solução é aplicar um patch NHibernate.Validador de modo que o construtor tem um float ou double e, em seguida, executar a conversão para decimal no construtor.Gostaria de ter uma resposta melhor para você.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top