Reputation: 1
My project uses XSD2Code++ to generate a large amount of C# classes and enums from XSD source files. By default, the tool generates C# enums as in the following example:
From XSD definition:
<simpleType name ="AccessResultsEnum">
<restriction base="string">
<enumeration value="Unknown"/>
<enumeration value="AccessAuthorized"/>
<enumeration value="AccessNotAuthorized"/>
</restriction>
</simpleType>
To C# Enum type:
[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,
}
Now, I would like to generate a C# enum with custom assigned values like the following one:
public enum AccessResultsEnum
{
/// <remarks/>
Unknown = 0,
/// <remarks/>
AccessAuthorized = 2,
/// <remarks/>
AccessNotAuthorized = 63,
}
Is there a way to achieve this using XSD2Code++?
I should keep enum
as the target C# type but I can change the XSD AccessResultsEnum
type definition.
Upvotes: 0
Views: 248
Reputation: 34421
Normally I do it with a 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);}
}
}
Upvotes: 0