Атрибуты - это метаданные, применяемые к элементам типа, самого типа, параметров метода или сборки.Чтобы иметь доступ к метаданным, у вас должен быть сам исходный член для пользователя GetCustomAttributes
и т. Д., Т.е. ваш экземпляр Type
, PropertyInfo
, FieldInfo
и т. Д.
В вашем случаеЯ бы фактически передал имя свойства самому атрибуту:
public CustomAttribute : Attribute
{
public CustomAttribute(string propertyName)
{
this.PropertyName = propertyName;
}
public string PropertyName { get; private set; }
}
public class MyClass
{
[Custom("MyProperty")]
public int MyProperty { get; set; }
}