【发布时间】:2011-06-20 09:09:24
【问题描述】:
我有一个像这样在 WSDL 中声明的枚举
<xsd:simpleType name="KopRate">
<xsd:annotation>
<xsd:documentation>Information</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="0" />
<xsd:enumeration value="13" />
<xsd:enumeration value="21" />
<xsd:enumeration value="56" />
<xsd:enumeration value="ts" />
<xsd:enumeration value="kp" />
</xsd:restriction>
</xsd:simpleType>
问题是 Visual Studio 会生成一个像这样的枚举类(添加这个 'Item' 词):
namespace TestNmsp
{
[GeneratedCode("System.Xml", "4.0.30319.1")]
[XmlType(Namespace = "http://www.kop.com/test/schema")]
[Serializable]
public enum KopRate
{
[XmlEnum("0")] Item0,
[XmlEnum("13")] Item13,
[XmlEnum("21")] Item21,
[XmlEnum("56")] Item56,
ts,
kp,
}
}
当然,我希望有一个没有这个“项目”部分的枚举。为什么会发生这种情况,我该如何通过?
【问题讨论】:
-
“为什么”是因为 C# 标识符不能以数字开头。我将为知道的人留下“如何”
-
嗯,也许没人知道。它真的会导致问题吗?我从
XmlEnum属性中猜想,webservice 调用实际上可以正常工作,只是您希望您的代码能够通过它们的“真实”名称来引用枚举值?
标签: c# .net web-services visual-studio-2010 wsdl