Das XSD-Tool fügt beim Generieren von C # -Code "Angegeben" an bestimmte Eigenschaften / Felder an

Ich habe ein seltsames Verhalten mit dem XSD-Generator, das ich nicht wirklich erklären kann. Ich habe eine XSD wie diese:

<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>

es ist abgeleitet von 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>

Dies ist nur ein kleiner Teil der XSD, es gibt viel komplexere Typen.

Also wenn ich die Klassen ähnlich generieredieseIch erhalte eine generierte Klasse, die zwei weitere Eigenschaften hat (zusätzlich zu den 5, die ich erwarten würde):

public bool MinDuration_100msSpecified

und

public bool StageOnDemandSpecified

Also wurde an die "original" -Eigenschaft "Angegeben" angehängt und der Typ ist jetzt bool. Kann mir jemand erklären, warum das so ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage