Я создаю приложение MVC 3, которое должно устанавливать правила проверки данных во время выполнения на основе внешних данных (например, Required, MinimumLength, MaximumLength).Кажется естественным использовать аннотации данных в MVC 3, однако атрибуты свойств, которые предоставляют метаданные проверки, устанавливаются во время компиляции.
Существует ли шаблон для использования аннотаций данных с метаданными, предоставляемыми во время выполнения?
Пример:
public string Text { get; set; }
public void SetIsRequired(string propertyName, bool required)
{
// Somehow find the property 'propertyName' and create/remove a RequiredAttribute
// on that property
}
...
SetIsRequired("Text", true);
Мне известно о TypeDescriptor , но я не вижу опции для изменения атрибутов свойства экземпляра (только атрибуты уровня класса в экземпляреили атрибуты уровня свойства для типа).