类型定义如下:public enum MyTestUnit
{
IS = 1,
IIS = 2
}
public class MyTestValue
{
public MyTestUnit Unit { set; get; }
public double Value { set; get; }
}WebService的代码如下: [WebMethod]
public MyTestValue GetMyValue()
{
MyTestValue MyNewValue = new MyTestValue();
MyNewValue.Unit = MyTestUnit.IIS;
MyNewValue.Value = 11.2;
return MyNewValue;
}得到的XML如下:<MyTestValue>
<Unit>IIS</Unit>
<Value>11.2</Value>
</MyTestValue>问题如下:请问,要怎样才能让得到的XML中<Unit>IIS</Unit>一节里的内容不是“IIS”而是它对应的数字“2”?已知的解决办法:public enum MyTestUnit
{
[System.Xml.Serialization.XmlEnum("1")]
IS = 1,
[System.Xml.Serialization.XmlEnum("2")]
IIS = 2
}不过,系统中的所有Enum都是其他的人写的,已经写了很多了,所以最好不要这样。
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
很难解决的问题,需要分析 System.Xml.Serialization.XmlReflectionImporter.ImportEnumMapping 的代码寻找解决方法。
- 2 回答
- 0 关注
- 612 浏览
添加回答
举报
0/150
提交
取消