Как найти атрибуты аннотации данных и их параметры с помощью отражения - PullRequest
8 голосов
/ 23 октября 2011

У меня есть какой-то атрибут аннотации данных, например:

[StringLength(20, MinimumLength = 5, ErrorMessage = "First name must be between 5 and 20 characters")]

Как найти атрибуты аннотации данных и их параметры с помощью отражения?

спасибо

1 Ответ

12 голосов
/ 23 октября 2011

Полагаю, у вас есть что-то вроде этого:

[StringLength(20, MinimumLength = 5, ErrorMessage = "First name must be between 5 and 20 characters")]
public string FirstName {get;set;}

Чтобы получить атрибут и свойство из него:

StringLengthAttribute strLenAttr = 
  typeof(Person).GetProperty("FirstName").GetCustomAttributes(
  typeof(StringLengthAttribute), false).Cast<StringLengthAttribute>().Single();


int maxLen = strLenAttribute.MaximumLength;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...