gpt4 book ai didi

c# - 获取 DisplayName 属性的所有值

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:44 26 4
gpt4 key购买 nike

我正在使用带有 EntityFramework 6 DataAnnotations 的 asp.net MVC 5。我想知道是否有办法获得所有DisplayName一个对象并将它们保存在一个变量中到一个 Controller 类中。

例如,考虑类:

public class Class1
{
[DisplayName("The ID number")]
public int Id { get; set; }

[DisplayName("My Value")]
public int Value { get; set; }

[DisplayName("Label name to display")]
public string Label { get; set; }
}

如何获取 DisplayName 的值对于所有属性?例如如何创建一个返回 Dictionary< string,string > 的函数它有一个带有属性名称和值的键 DisplayName ,像这样:

{ "Id": "The ID name", "Value": "My Value", "Label": "Label name to display"}.

我看过这个题目stackoverflow - get the value of DisplayName attribute但我不知道如何扩展此代码。

最佳答案

如果您真的不关心 DisplayName 属性,而是关心将要使用的有效显示名称(例如通过数据绑定(bind)),最简单的方法是使用 TypeDescriptor.GetProperties方法:

var info = TypeDescriptor.GetProperties(typeof(Class1))
.Cast<PropertyDescriptor>()
.ToDictionary(p => p.Name, p => p.DisplayName);

关于c# - 获取 DisplayName 属性的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41166074/

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