XmlSerializer的DefaultParameterValue属性?

时间:2011-06-26 16:07:46

标签: c# xml-serialization

我们正在编写一个.NET 3.5应用程序,它使用各种对象的Xml序列化。

我们基本上是从一个对象创建一个xml文档,我希望能够使用这个属性(DefaultParameterValue),这是.NET 4.0用来实现可选参数的。

我希望Xml生成的文档包含具有此属性的参数的默认值。

有可能吗?

2 个答案:

答案 0 :(得分:3)

XmlSerializer在(公共)字段/属性级别运行。在这样做时,它所看到的一件事就是类似的[DefaultValue(...)]。除了ShouldSerialize*()之类的一些辅助模式之外,它不会查看的所有方法。因此,根本没有与参数交叉,也不需要查看[DefaultParameterValue(...)]

答案 1 :(得分:2)

这不是属性的工作方式。 xml de / serializers识别的那些文档已有详细记录,该列表不可扩展。添加更多需要更改代码。您无法更改的代码,它被锁定在框架程序集中。

通过在类构造函数中指定所需的默认值来实现等效项。