StringLengthAttribute, похоже, не работает

Вот мой тестовый класс с аннотациями данных:

class Test
{
  [Required, StringLength(10)]
  public string MyProperty { get; set; }
}

Вот моя консольная тестовая программа:

class Program
{
  static void Main(string[] args)
  {
    var test = new Test {
      MyProperty = "this is way more than 10 characters and should fail."
    };

    var context = new ValidationContext(test, null, null);

    // No exception here! (why not?)
    Validator.ValidateObject(test, context);

    test.MyProperty = null;

    // Exception here, as expected
    Validator.ValidateObject(test, context);
  }
}

По какой-то причине я не получаю исключение проверки, когда длина строки слишком велика. Я получаю исключение проверки (как и ожидалось), когда устанавливаю для свойства значение null и повторно проверяю. Есть идеи, почему моя аннотация длины строки не применяется?

9
задан Mike 23 January 2011 в 20:36
поделиться