다음과 같은 정의가있는 xsd 파일이 있습니다. xsd.exe
을 사용하여 xsd 파일에서 클래스를 생성 할 때 열거 형 attrs는 아래에 표시된대로 FieldSpecified
속성을 추가로 가져옵니다. FieldSpecified
속성이 설정되어 있지 않으면이 값은 특성 값으로 serialize되지 않습니다. xsd에 추가 할 수있는 추가 속성이 있습니까? 아니면 xsd.exe
과 함께 사용할 수있는 플래그가 항상 값을 직렬화하게할까요? xsd
에서XSD에서 XSD.exe를 방지 할 수있는 특성 FieldSpecified flags
예 : 생성 된 코드에서
<xs:simpleType name="adrLn">
<xs:restriction base="xs:string">
<xs:enumeration value="ST" />
<xs:enumeration value="APTN" />
</xs:restriction>
</xs:simpleType>
...
<xs:element name="AddressLine" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="AddrLineTypCd" type="adrLn" />
</xs:complexType>
</xs:element>
예 :
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class RequestCheckIssueAddressAddressLine {
private adrLn addrLineTypCdField;
private bool addrLineTypCdFieldSpecified;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public adrLn AddrLineTypCd {
get {
return this.addrLineTypCdField;
}
set {
this.addrLineTypCdField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool AddrLineTypCdSpecified {
get {
return this.addrLineTypCdFieldSpecified;
}
set {
this.addrLineTypCdFieldSpecified = value;
}
}
}
을 setter가 사용되고있는 경우는 직렬화의 필드. 이것을 게시 한 후에 나는 숫자 값에 대해서도 그렇게 함을 알았다. – QueueHammer