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?