0

我需要在 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";
}

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

谢谢,亚历克斯

4

1 回答 1

1

简短的回答是否定的。

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

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

于 2013-09-30T17:26:31.780 回答