gpt4 book ai didi

c# - 从 PropertyInfo 获取 DisplayAttribute 属性

转载 作者:可可西里 更新时间:2023-11-01 02:59:10 25 4
gpt4 key购买 nike

class SomeModel
{
[Display(Name = "Quantity Required")]
public int Qty { get; set; }

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

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

var properties 
= typeof(SomeModel)
.GetProperties()
.Select(p => new
{
p.Name,
p.GetCustomAttributes(typeof(DisplayAttribute),
false).Single().ToString()
}
);

上面的代码无法编译,而且我不确定它是否是正确的方法,但希望您能明白其意图。任何指针?谢谢

最佳答案

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

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
});

关于c# - 从 PropertyInfo 获取 DisplayAttribute 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com