我们有几个具有各种十进制(和其他)属性的复杂类。在几十个十进制属性中,它们都属于3个特定格式规则:
我想用自定义属性修饰各种DTO十进制属性,以指定格式化规则,如[DecimalFormatRule(Rule =“x.000”)]。
如何确保将这些格式规则应用于修饰属性,而不会干扰为这些相同DTO定义的数百个其他属性的de / serialization?
我认为我们需要一个可以应用格式规则的类,带有字符串属性的自定义属性来保存格式规则,以及一个查找属性的自定义序列化程序,它只处理这些属性。这甚至可能吗?
有更好的方法吗?我不愿意编写自己的序列化程序 - 我绝对希望尽可能多地利用很棒的ServiceStack代码。
答案 0 :(得分:1)
ServiceStack中没有可用的属性级注释格式,但您可以执行ignoring the decimal property之类的操作,并添加一个返回所需格式的其他字符串属性getter,例如:
public class Dto
{
[IgnoreDataMember]
public decimal Decimal { get; set; }
public string DecimalFormat => Decimal.ToString("0.##");
}