XSD枚举整数值

时间:2018-10-25 10:53:48

标签: c# api wcf xsd

我有一个简单的枚举,需要将其转换为XSD以提供给客户端

    public enum Categories
    {
        uknown = 0,
        Simple = 100,
        Complex = 200
    }

我正在使用Visual Studio命令行将其转换为有效的xsd,但是在我的XSD中得到了以下结果

<xs:simpleType name="ProductCompatibilityCode">
    <xs:restriction base="xs:string">
      <xs:enumeration value="uknown" />
      <xs:enumeration  name="Simple "/>
      <xs:enumeration value="Complex" />
    </xs:restriction>
  </xs:simpleType>

我需要保留枚举的整数部分,例如,我可以为(int)Categories.Simple等获得100。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

使用XmlEnumAttribute

public enum Categories
{
    [XmlEnum("0")]
    uknown = 0,
    [XmlEnum("100")]
    Simple = 100,
    [XmlEnum("200")]
    Complex = 200
}