Как получить доступ к значению аннотации данных DisplayName из кода? - PullRequest
3 голосов
/ 15 августа 2010
public static string ProductHelper(this Product p) {
    // Need to get the DisplayName value for p.Name property
}

РЕДАКТИРОВАТЬ:

[MetadataType(typeof(ProductMetadata))]
public partial class Product {
    public class ProductMetadata {
        [DisplayName("Product name")]
        public object Name { get; set; }
    }
}

1 Ответ

5 голосов
/ 15 августа 2010
Type type = typeof(Product);
DisplayNameAttribute att = (DisplayNameAttribute)type.GetProperty("Name").GetCustomAttributes(typeof(DisplayNameAttribute), true).SingleOrDefault();

Предполагается, что атрибут всегда существует.Изменить для случая, когда это не может быть.

изменить:
Чтобы получить значение string x = att.DisplayName;

Если продукт является базовым классом, используйте Type type = p.GetType(); вместо.

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