Lo strumento XSD aggiunge “Specificato” a determinate proprietà / campi durante la generazione del codice C #

Ho uno strano comportamento con il generatore XSD che non riesco davvero a spiegare. Ho ottenuto un XSD come questo:

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

è derivato da CoreObject:

     ...     

Questa è solo una piccola parte dell’XSD, ci sono tipi molto più complessi.

Quindi, quando genero le classi in questo modo , ottengo una class generata che ha altre due proprietà (oltre al 5 che mi aspetterei):

 public bool MinDuration_100msSpecified 

e

 public bool StageOnDemandSpecified 

Quindi alla proprietà “originale” è stato aggiunto “Specificato” e il tipo è ora bool. Qualcuno può spiegare perché è così?

l’attributo bool significa che l’attributo correlato deve essere serializzato.

per esempio

Se il valore di bool MinDuration_100msSpecified è impostato su false e si imposta MinDuration_100ms su 300 , quando si utilizza XmlSerializer per serializzare l’object, l’attributo MinDuration_100ms non verrà serializzato.

Questa funzione può salvare il file xml serializzato in modo che sia minimo.

Imposta minOccurs = “1” dove l’elemento è nillabile. Per esempio: