Поиск атрибутов в свойствах экземпляра класса - PullRequest
0 голосов
/ 08 июня 2010

Учитывая экземпляр класса, я хочу установить свойства для атрибутов во время выполнения.

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

var properties = myObject.GetType().GetProperties();

foreach (object prop in properties)
{
   var attribute =prop.GetCustomAttributes(typeof(MyAttribute), true)[0];
   //attribute.MyProp do some stuff
}

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

var myObject= (MyClass) object;
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(myObject);

//There is no props[0].GetCustomAttributes(

1 Ответ

2 голосов
/ 08 июня 2010

Атрибуты - это метаданные, которые вы применяете к типу или элементу типа, а не к экземпляру. Если вы применяете значения к определенному экземпляру класса, разве вам не следует использовать свойства / поля?

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