Я пытаюсь определить тип свойства, к которому относится атрибут, из конструктора атрибутов. Для большей специфичности я ищу класс, который содержит свойство.
мой текущий конструктор выглядит так:
public IndexedCategoryAttribute(Type DefiningClass, String HeaderText, int Index)
{
this._definingClass = DefiningClass;
однако я хочу, чтобы это выглядело так:
public IndexedCategoryAttribute(String HeaderText, int Index)
{
PropertyInfo Info = ???
this._definingClass = Info.DeclaringType;
Я полагаю, что это обеспечит более безопасный код для пользователей атрибута, поскольку в настоящее время требуется определение typeof (MyClass) в определении атрибута, что открывает возможность предоставления неверного типа?
Для получения дополнительной информации я использую это с сеткой свойств. Тип используется в static Dictionary<Type, Dictionary<String, int>>
для группировки категорий по классу, к которому они относятся.