xsd固定为C#const

时间:2013-09-30 15:02:35

标签: c# xsd xsd-validation xsd.exe

我需要在xsd文件中定义一个字段,当使用XSD工具在C#类中转换时,它将变成一个const字段(或类似的东西),目的是不允许存储任何其他值在该领域。

此刻,我有

<xs:attribute name="version" type="xs:string" use="required" fixed="01.01.01"/>

转换为具有关联属性的简单字段,父的构造函数将包含相应值的定义:

private string versionField;

/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.ComponentModel.DefaultValueAttribute("mantec_assembly_order")]
public string refSchema 
{
     get 
     {
         return this.refSchemaField;
     }
     set 
     {
         this.refSchemaField = value;
     }
}

和构造函数

public Foo() 
{
    this.versionField = "01.01.01";
}

通过使用XSD工具将此文件转换为C#文件,是否可以获取具有固定值的C#字段,该值等于XSD文件中fixed属性内的值?

谢谢, 亚历

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的。

至于使它成为const(例如,允许将其用作switch语句中的case标签),肯定它不会起作用。

原因与XML序列化程序的内部工作有关。