.NET: Получите имя свойства в атрибуте

[MyAttribute()]
public string Name { get; set; }

В MyAttribute Я должен знать название связанного свойства, действительно ли это возможно?

Править:

Я должен использовать его в текстовом форматировании.

6
задан Re Captcha 15 November 2016 в 08:07
поделиться

2 ответа

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

var properties = typeof(SomeType).GetProperties();
foreach (var property in properties)
{
    var attributes = property.GetCustomAttributes(typeof(MyAttribute), true);
    if (attributes.Count > 0)
    {
        // look at property.Name here
    }
}
8
ответ дан 16 December 2019 в 21:36
поделиться

Вы можете использовать аспект PostSharp для выполнения этой работы. Некоторое время назад у меня был похожий вопрос, в котором было почти то же самое. Вы можете посмотреть комментарии к ответу, чтобы получить дополнительную информацию о некоторых последствиях, с которыми вы можете столкнуться.

0
ответ дан 16 December 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: