我有这样的课
[DataContract(Namespace = "")]
public class Foo
{
[DataMember(Order = 0)]
Bar bar;
}
[DataContract(Namespace = "")]
public class Bar
{
Baz baz;
[DataMember(Order = 0)]
string TheBaz
{
get { baz.ToString(); }
set { SomeOtherCode(value); }
}
}
我希望它像这样生成 XML
<Foo>
<Bar>String from baz.ToString()</Bar>
</Foo>
但我得到的东西更像:
<Foo>
<Bar><TheBaz>String from baz.ToString()</TheBaz></Bar>
</Foo>
有可能解决这个问题吗?这篇文章说 DataContractSerializer 的缺点之一是:
- 除了设置名称和顺序之外,无法控制对象的序列化方式
让我想知道这不是一个可以解决的问题。
我知道这可以用IXmlSerializable
and ReadXml
/来完成,WriteXml
因为我应该删除这样做的代码。