在生成C#代码时,在xsd定义中为xsd2code使用非默认类型

时间:2012-05-29 10:07:56

标签: c# xsd xsd2code

在我们的项目中,我们使用Xsd2Code生成c#代码。

我想调整的XSD看起来像这样:

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="File">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Version" type="xs:string" />
        <xs:element name="Language" type="xs:string" />
        <xs:element name="Component" type="xs:anyType" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

在我们的项目中,我们现在定义了一个抽象类Version。是否可以使用我们自己的类Version而不是string作为Xsd中的元素Version的类型?

我们希望使用Xsd2Code生成尽可能多的类。这就是为什么我要避免也必须手动创建File类。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在xsd方案中创建一个新的抽象类Version,然后将您定义的Version类作为partial,并将其放在与生成的类相同的名称空间中。默认情况下,所有生成的类都必须是部分的。