生成C#代码时,XSD工具将“Specified”附加到某些属性/字段

我对XSD生成器有一种奇怪的行为我无法解释。 我有一个像这样的XSD:

      Some Doc     ...     ...     ...     ...       

它源自CoreObject:

     ...     

这只是XSD的一小部分,有很多更复杂的类型。

因此,当我生成类似于此的类时,我得到一个生成的类,它有两个属性(除了我期望的5):

 public bool MinDuration_100msSpecified 

 public bool StageOnDemandSpecified 

所以对于“原始”属性,附加了“Specified”,类型现在是bool。 任何人都可以解释为什么会这样吗?

bool属性表示应该序列化相关属性。

例如

如果将bool MinDuration_100msSpecified设置为false ,并将MinDuration_100ms设置为300 ,则在使用XmlSerializer序列化对象时, MinDuration_100ms属性将不会被序列化。

此function可以将序列化的xml文件保存为最小。

设置minOccurs =“1” ,其中元素是可为空的。 例如: