2013-09-30 3 views
0

Мне нужно определить поле в файле xsd, которое при преобразовании в классы C# с помощью XSD Tool превратится в поле const (или что-то подобное) с целью не допустить другие значения, которые необходимо сохранить в поле.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"; 
} 

Возможно ли получить поле C# с фиксированное значение, равное значению внутри атрибута fixed в XSD-файле, путем преобразования этого файла в файл C# с помощью инструмента XSD?

Спасибо, Alex

+0

Что значит 'const'? Что именно вы спрашиваете? –

+0

Ради толкования я всегда буду перефразировать то, что мне нужно, в простой вопрос. – Silvermind

+0

Отредактировано, чтобы сделать вопрос более понятным. –

ответ

1

Короткий ответ: нет.

Как сделать его константой (разрешить, например, использовать ее как ярлык case в инструкции switch), наверняка это не сработает.

Причина связана с внутренней работой XML-сериализатора.

+0

Спасибо, я начну искать другие возможности для достижения того, что мне нужно. –