Будут ли работать RegularExpressionAttribute и другие валидаторы на свойствах Automatic?

Я использую xsd2code для генерации классов из схемы. как я подозреваю, что авто свойства могут проверять значения или нет?

потому что если я включу AutomaticProperties в xsd2code вот что я получаю для члена с ограничением Regex.

[System.Xml.Serialization.XmlAttributeAttribute(DataType="token", AttributeName="color")]
[System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")]
public string Color { get; set; }

И когда AutomaticProperties выключен

[System.Xml.Serialization.XmlAttributeAttribute(DataType="token", AttributeName="color")]
[System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")]
public string Color
{
    get
    {
        return this._color;
    }
    set
    {
        System.ComponentModel.DataAnnotations.ValidationContext validatorPropContext = new System.ComponentModel.DataAnnotations.ValidationContext(this, null, null);
        validatorPropContext.MemberName = "Color";
        Validator.ValidateProperty(value, validatorPropContext);
        this._color = value;
    }
}

Кажется, они не эквивалентны. так что я думаю, что это ошибка в xsd2code или, может быть, я что-то неправильно понимаю. Какова цель второго сгенерированного кода?

я думал RegularExpressionAttribute также будет проверять автоматические свойства тоже.

0 ответов

Другие вопросы по тегам