我需要在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
属性内的值?
谢谢, 亚历
答案 0 :(得分:1)
简短的回答是否定的。
至于使它成为const(例如,允许将其用作switch语句中的case标签),肯定它不会起作用。
原因与XML序列化程序的内部工作有关。