我在寻找谁来定制属性的序列化。我原以为这很简单,但我没能实现我想做的事情。
下面是一个简单的例子:
类定义:
Class MyClass
{
[XmlAttribute("myAttribute")]
public int[] MyProperty { get; set; }
}
我想要的Xml结果:
<MyClass myAttribute="1 2 3... N" />
我唯一需要做的工作就是放置一个[XmlIgnore]属性,并用一些代码创建另一个属性来完成转换。
那么,我的问题是,有没有比创造新的房产更好的方法呢?也许你可以创建某种类型的类型转换器,以便序列化程序使用它?
另外,我尝试使用Type属性,但没有成功。(总是有例外)。但据我所知,它是针对已定义的数据类型的。
[XmlAttribute("myAttribute", typeof(MyConverter))]
public int[] MyProperty { get; set; }
另一个有趣的方法是:
[XmlAttribute("myAttribute")]
[XmlConverter(typeof(MyConverter))]
public int[] MyProperty { get; set; }
谢谢。
编辑
由于没有出现像我所寻找的解决方案,我最终决定选择“IXmlSerializable”解决方案。