簡體   English   中英

將 xsd 枚舉轉換為枚舉 c #

[英]converting an xsd enumeration to enum c #

在 xsd 文件中,我有一個帶有選項 N1 和 N2 的類型枚舉(如下所示),它通過轉換為 c# class 已添加到枚舉類型,現在不能由枚舉類型表示1。表示為枚舉類型中的一個選項(不允許使用點),我該怎么辦?

謝謝

<xs:simpleType name="NaturaType">
<xs:restriction base="xs:string">
  <xs:enumeration value="N1">
    <xs:annotation>
      <xs:documentation>Escluse ex. art. 15</xs:documentation>
    </xs:annotation>
  </xs:enumeration>
  <xs:enumeration value="N2">
    <xs:annotation>
      <xs:documentation>Non soggette</xs:documentation>
    </xs:annotation>
  </xs:enumeration>
</xs:restriction>

一種解決方法是使用XmlEnumAttribute

public enum NaturaType
{
    /// <remarks/>
    N1,
    /// <remarks/>
    N2,
    /// <remarks/>
    [XmlEnumAttribute("N2.1")]
    N2_1,
    /// <remarks/>
    [XmlEnumAttribute("N2.2")]
    N2_2,
    /// <remarks/>
    N3,
    ...
}

它用於驗證 xml 和 xsd。 不需要額外的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM