La herramienta XSD agrega "Especificado" a ciertas propiedades / campos al generar el código C #

Tengo un comportamiento extraño con el generador XSD que realmente no puedo explicar. Tengo un XSD como este:

<xs:complexType name="StageSequenceElement" mixed="false">
    <xs:complexContent>
        <xs:extension base="CoreObject">
            <xs:sequence>
                <xs:element name="Description" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Some Doc</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="StageRef" type="ObjectReference">
                    <xs:annotation>
                        <xs:documentation>...</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MinDuration_100ms" type="xs:int" nillable="true" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>...</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MaxDuration_100ms" type="xs:int" nillable="true">
                    <xs:annotation>
                        <xs:documentation>...</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="StageOnDemand" type="xs:boolean" nillable="true" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>...</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>

se deriva de CoreObject:

<xs:complexType name="CoreObject">
    <xs:sequence>
        <xs:element name="No" type="xs:int">
            <xs:annotation>
                <xs:documentation>...</xs:documentation>
            </xs:annotation>
        </xs:element>
    </xs:sequence>
</xs:complexType>

Esto es solo una pequeña parte de XSD, hay tipos mucho más complejos.

Así que cuando genero las clases similares aesta, Obtengo una clase generada que tiene dos propiedades más (además de las 5 que esperaría):

public bool MinDuration_100msSpecified

y

public bool StageOnDemandSpecified

Así que a la propiedad "original" se le agregó "Especificado" y el tipo ahora es bool. ¿Alguien puede explicar por qué esto es así?

Respuestas a la pregunta(2)

Su respuesta a la pregunta