使用CodeDom/XSD生成类型化(长)Enum
本文关键字:Enum 类型化 CodeDom XSD 使用 | 更新日期: 2023-09-27 18:11:23
很抱歉这个基本问题(不是为我:))。我想使用CodeDom/Xsd生成类型为(long)的enum。
public enum Boolean_YN : long
{
/// <remarks/>
Y,
/// <remarks/>
N,
}
这是我的Xsd
<xs:simpleType name="Boolean_YN">
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
我应该在XSD中放入什么来使类型(long)出现在我的enum声明中。
谢谢。
在VSSDK-Extensibility-Samples查看代码
-
你需要声明Enum类型
CodeTypeDeclaration typeDeclaration = new CodeTypeDeclaration("Boolean_YN"); typeDeclaration.IsEnum = true;
-
声明枚举成员
CodeMemberField field = new CodeMemberField("System.Int64", enummemberName); typeDeclaration.Members.Add(field);
参考上面的链接获取更多关于如何从XSD读取EnumMemberInfo和EnumInfo的详细信息