首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PropertyInfo获取DisplayAttribute属性

从PropertyInfo获取DisplayAttribute属性
EN

Stack Overflow用户
提问于 2011-09-07 22:30:45
回答 1查看 15.6K关注 0票数 18
代码语言:javascript
复制
class SomeModel
{
    [Display(Name = "Quantity Required")]
    public int Qty { get; set; }

    [Display(Name = "Cost per Item")]
    public int Cost { get; set; }
}

我试图将模型映射到一个{ PropertyName, DisplayName }对列表中,但我遇到了困难。

代码语言:javascript
复制
var properties 
    = typeof(SomeModel)
        .GetProperties()
        .Select(p => new 
            {
                p.Name,
                p.GetCustomAttributes(typeof(DisplayAttribute),
                              false).Single().ToString()
            }
        );

上面的代码不能编译,我不确定这是不是正确的方法,但希望你能看到它的意图。有什么建议吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-07 22:40:04

在这种情况下,您需要为匿名类型定义特定的属性名称。

代码语言:javascript
复制
var properties = typeof(SomeModel).GetProperties()
    .Where(p => p.IsDefined(typeof(DisplayAttribute), false))
    .Select(p => new
        {
            PropertyName = p.Name,
            DisplayName = p.GetCustomAttributes(typeof(DisplayAttribute),
                false).Cast<DisplayAttribute>().Single().Name
        });
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7335629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档