2013-05-11 6 views
0

Я пытаюсь получить список всех атрибутов, применяемых к моему классу.Как получить все пользовательские атрибуты в классе

Я вижу ряд методов Attribute.GetCustomAttributes(), но я могу видеть только методы для повторного ввода всех атрибутов для сборок, модулей, элементов и свойств - ничего для класса. Версии метода, которые принимают тип как аргумент, не подходят, потому что они возвращают только атрибуты этого типа, тогда как я хочу перебирать все атрибуты по порядку.

Почему я это делаю? Я расширение моего приложения, и добавить несколько простых модов интерфейса я хочу, чтобы загрузить код пользователя, а также использовать атрибуты для определения элементов управления, например ...

[MyTextBox("Address1:")] 
[MyButton("QueryStatus")] 
[MyButton("QuerySpeed/Pos")] 
public class QueryStatus 
{ 

Я загрузил сборку и могу доступ к типу класса. Есть ли другое место, где я могу найти все мои пользовательские атрибуты?

ответ

1

Просто используйте Type.GetCustomAttributes().

Type type = ...; 
foreach (var attribute in type.GetCustomAttributes(inherit: false)) 
{ 
    // Whatever you need to do 
} 
+0

Спасибо, я не уверен, как я пропустил это. – Frank

Смежные вопросы