【发布时间】:2021-06-13 14:12:25
【问题描述】:
我的项目使用 XSD2Code++ 从 XSD 源文件生成大量 C# 类和枚举。 默认情况下,该工具会生成 C# 枚举,如下例所示:
来自 XSD 定义:
<simpleType name ="AccessResultsEnum">
<restriction base="string">
<enumeration value="Unknown"/>
<enumeration value="AccessAuthorized"/>
<enumeration value="AccessNotAuthorized"/>
</restriction>
</simpleType>
转为 C# 枚举类型:
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "4.2.0.31")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.mycompany.it/MyProject/StateValues/")]
public enum AccessResultsEnum
{
/// <remarks/>
Unknown,
/// <remarks/>
AccessAuthorized,
/// <remarks/>
AccessNotAuthorized,
}
现在,我想用 自定义赋值 生成一个 C# 枚举,如下所示:
public enum AccessResultsEnum
{
/// <remarks/>
Unknown = 0,
/// <remarks/>
AccessAuthorized = 2,
/// <remarks/>
AccessNotAuthorized = 63,
}
有没有办法使用 XSD2Code++ 实现这一点?
我应该将 enum 保留为目标 C# 类型,但我可以更改 XSD AccessResultsEnum 类型定义。
【问题讨论】:
标签: c# xml enums deserialization xsd2code