我们正在编写一个.NET 3.5应用程序,它使用各种对象的Xml序列化。
我们基本上是从一个对象创建一个xml文档,我希望能够使用这个属性(DefaultParameterValue),这是.NET 4.0用来实现可选参数的。
我希望Xml生成的文档包含具有此属性的参数的默认值。
有可能吗?
答案 0 :(得分:3)
XmlSerializer
在(公共)字段/属性级别运行。在这样做时,它所看到的一件事就是类似的[DefaultValue(...)]
。除了ShouldSerialize*()
之类的一些辅助模式之外,它不会查看的所有方法。因此,根本没有与参数交叉,也不需要查看[DefaultParameterValue(...)]
。
答案 1 :(得分:2)
这不是属性的工作方式。 xml de / serializers识别的那些文档已有详细记录,该列表不可扩展。添加更多需要更改代码。您无法更改的代码,它被锁定在框架程序集中。
通过在类构造函数中指定所需的默认值来实现等效项。