为了账号安全,请及时绑定邮箱和手机立即绑定

Color结构的最优雅的XML序列化

Color结构的最优雅的XML序列化

C#
眼眸繁星 2019-12-03 10:08:56
一个问题困扰着我,足以在Stack Overflow上注册。当前,如果我想将Color序列化为XML字符串,命名为color或#rrggbb或#aarrggbb,则可以这样做:[XmlIgnore()]public Color color;[XmlElement(ElementName = "Color")]public String color_XmlSurrogate{  get { return MyColorConverter.SetColor(color); }  set { color = MyColorConverter.GetColor(value); }}这MyColorConverter就是我喜欢的方式进行序列化。但是,所有这些都感觉像是在与其他领域和所有事物融合在一起。有没有一种方法可以使它以更少的行数运行,也许将TypeDescriptor与与XML相关的C#属性连接起来?
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我相信下面我对此有一个更简单的解决方案。忽略颜色序列化,并将颜色保存并加载为简单的32位ARGB数据。


[XmlIgnore]

public Color BackColor { get; set; }


[XmlElement("BackColor")]

public int BackColorAsArgb

{

    get { return BackColor.ToArgb();  }

    set { BackColor = Color.FromArgb(value); }

}


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 589 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信