Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xsd.exe在继承枚举时生成错误的C#类_C#_Xsd_Xsd.exe - Fatal编程技术网

Xsd.exe在继承枚举时生成错误的C#类

Xsd.exe在继承枚举时生成错误的C#类,c#,xsd,xsd.exe,C#,Xsd,Xsd.exe,这是虫子吗 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="sbrSexItemType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="1"/> <xsd:en

这是虫子吗

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:simpleType name="sbrSexItemType">
            <xsd:restriction base="xsd:string">
                <xsd:enumeration value="1"/>
                <xsd:enumeration value="2"/>
                <xsd:enumeration value="3"/>
                <xsd:enumeration value="0"/>
            </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="TestSexItemType1" type="sbrSexItemType"/>
    <xsd:element name="TestSexItemType2" type="sbrSexItemType"/>
</xsd:schema>

我得到:

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlRootAttribute("TestSexItemType1", Namespace="", IsNullable=false)]
public enum sbrSexItemType {

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("1")]
    Item1,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("2")]
    Item2,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("3")]
    Item3,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("0")]
    Item0,
}
//
[System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”、“2.0.50727.3038”)]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlRootAttribute(“TestSexItemType1”,Namespace=”“,IsNullable=false)]
公共枚举项类型{
/// 
[System.Xml.Serialization.XmlEnumAttribute(“1”)]
项目1,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“2”)]
项目2,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“3”)]
项目3,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“0”)]
项目0,
}

这是玩笑吗?甚至没有生成错误。生成的代码如何以任何形状或形式表示XSD?

当然,可能的值
1,2,3,0
不能直接转换为枚举值(标识符不能以数字开头),因此XSD在创建标识符时将“
Item
”放在值之前。
XmlEnumAttribute
告诉
XmlSerializer
在读取或写入Xml文件时应该实际使用哪个值。看起来生成的枚举完成了这项工作

当然,可能的值
1,2,3,0
不能直接转换为枚举值(标识符不能以数字开头),因此xsd在创建标识符时将“
Item
”放在值之前。
XmlEnumAttribute
告诉
XmlSerializer
在读取或写入Xml文件时应该实际使用哪个值。看起来生成的枚举完成了这项工作

如果您有其他类型而不是枚举。您应该将枚举放在顶部。我不知道为什么,但我的问题就这样解决了。

如果您有其他类型而不是enum。您应该将枚举放在顶部。我不知道为什么,但我的问题就这样解决了。

不,我的重点不是生成“TestSexItemType1”类型,而是生成枚举并指定根元素“看起来像”类型。然后它完全忽略“TestSexItemType2”,就好像它不存在一样?..@SleeperSmith应该有一个类用于完整的xsd。看起来怎么样?不,没有。不,我的重点不是生成“TestSexItemType1”类型,而是生成枚举并指定根元素“看起来像”类型。然后它完全忽略“TestSexItemType2”,就好像它不存在一样?..@SleeperSmith应该有一个类用于完整的xsd。看起来怎么样?不,没有。就这些,谢谢你的建议。我已经把从枚举继承的两种类型放在一起了,仍然没有运气。谢谢你的建议。我已经把从枚举继承的两种类型放在一起了,但仍然不走运。