我已经使用了一个WSDL,其中一个字段来自枚举类型,并且在生成的reference.cs中,它为此创建了两个字段:
这个领域被称为“IsPayment'它生成了一个名为IsPaymentField和IsPaymentFieldSpecified
的文件我从这个答案中读到: Why isn't my public property serialized by the XmlSerializer?
具有公共bool xxxSpecified值为false的项目未被序列化
所以我在代码中手动将其设置为True并且它有效。
但是当使用相同结构的每个其他字段都没有时,是什么导致该字段生成此Specified字段?
我能看到的唯一区别是在WSDL中这个字段明确得到了: nillable = true minOccurs = 0
所有其他字段都没有,但枚举本身定义为: 的nillable ="真"
所以唯一的区别是我的价值是minOccurs吗?
感谢。