Stack Overflow em Português Asked by NFe on September 29, 2020
Dado uma enum
como exemplo:
public enum IcmsCst
{
[XmlEnum("00")] Cst00,
[XmlEnum("10")] Cst10,
[XmlEnum("20")] Cst20,
...
}
Existe uma forma de anotação para que eu pudesse especificar que um determinado tipo de ICMS poderia aceitar somente um determinado tipo de CST
desse Enum
?
Como por exemplo:
public class Imposto
{
[XmlEnum(AcceptOnly = [IcmsCst.Cst00])] // como exemplo do que busco para a limitação
public ICMS Icms00 { get; set; }
}
E com isso essa ter a validação feita automaticamente ao serializar o objeto Imposto
em um XML?
Não tem mecanismo específico pronto. É possível criar um framework completo para tratar isso. Ou fazer o simples e na hora de importar a informação tratar se ela é válida ou não. Mecanismos genéricos são úteis para serem reaproveitados. Então existem quando é algo que todo mundo precisa, ou você deve fazer o seu, se precisar usar muitas vezes e isto traz vantagens.
Mesmo se fizer, precisa ter uma forma muito bem pensada de como tratar isso, o que pode não existir uma forma universal. Não aceita, e daí? Nem esse ponto está definido na pergunta, sem o critério claro não tem boa solução. De qualquer forma é muito difícil estabelecer esses critérios em código de forma declarativa.
Answered by Maniero on September 29, 2020
2 Asked on November 13, 2021 by raphael-shembek
2 Asked on November 13, 2021 by kdz
1 Asked on November 13, 2021 by jv10
1 Asked on November 13, 2021 by placementw
1 Asked on November 13, 2021 by camila-domingues
1 Asked on November 13, 2021 by raphael-prado-de-oliveira
1 Asked on November 10, 2021
1 Asked on November 10, 2021
2 Asked on November 10, 2021 by arthur-luiz
2 Asked on November 10, 2021 by daniel-saldanha
2 Asked on November 10, 2021
1 Asked on November 10, 2021
1 Asked on November 10, 2021 by user72726
2 Asked on November 10, 2021 by mrstack
Get help from others!
Recent Questions
Recent Answers
© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP