Инструмент XSD добавляет «Указано» к определенным свойствам / полям при генерации кода C #
Я получил странное поведение с генератором XSD, которое я действительно не могу объяснить. Я получил XSD, как это:
<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>
он получен из 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>
Это лишь небольшая часть XSD, есть много более сложных типов.
Поэтому, когда я генерирую классы, похожие наэтотЯ получаю сгенерированный класс, который имеет еще два свойства (в дополнение к 5, которые я ожидаю):
public bool MinDuration_100msSpecified
а также
public bool StageOnDemandSpecified
Таким образом, к «оригинальному» свойство & quot; указанное & quot; был добавлен и тип теперь bool. Кто-нибудь может объяснить, почему это так?