[英]XSD2Code++, from XML enum to C# enum with not sequential values
我的項目使用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
類型定義。
通常我用get/set來做
public class Test
{
public enum AccessResultsEnum
{
/// <remarks/>
Unknown = 0,
/// <remarks/>
AccessAuthorized = 2,
/// <remarks/>
AccessNotAuthorized = 63,
}
private AccessResultsEnum _AccessResultsEnum { get;set;}
public string AccessResultsEnum {
get{ return _AccessResultsEnum.ToString();}
set{ _AccessResultsEnum =(AccessResultsEnum)Enum.Parse(typeof(AccessResultsEnum), value);}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.