MVC3: Получение KeyAttribute - PullRequest
       1

MVC3: Получение KeyAttribute

0 голосов
/ 12 декабря 2011

Каков наилучший способ узнать, какое свойство имеет KeyAttribute в предоставленной модели (классе)?

Я пробовал с DataAnnotationsModelMetadataProvider; но ModelMetadata не содержит информации о KeyAttribute.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2011

Для класса модели с именем MyModel свойства с ключевыми атрибутами можно найти следующим образом.

var keyAttributedProps = typeof(MyModel).GetProperties()
   .Where(p => p.GetCustomAttributes(typeof(KeyAttribute), true).Length == 1);
0 голосов
/ 12 декабря 2011

Никогда не пытался, но я думаю, что вы можете использовать метод TypeDescriptor.GetProperties, чтобы получить свойство dessiredСогласно MSDN, он возвращает коллекцию свойств для указанного компонента, используя указанный массив атрибутов в качестве фильтра.

Проверьте эту ссылку.Надеюсь, это поможет: http://msdn.microsoft.com/en-us/library/3x9x2kh5.aspx#Y0

...