检索用户定义模型名称用户并尝试使用 C# 获取属性名称和值的最佳方法是什么

问题描述 投票:0回答:1

我有一个模型名称USER。 这是模型属性和值。 Model Properties and values

我想要实现的是获取每个属性名称、属性值和属性类型。 最终结果。

Property_Name : FirstName
Property_value: Tazbir
Property_type : string

这是单个属性的示例,我想以相同的方式获取所有属性。

我正在尝试一种不同的方式,但让它变得更复杂,我正在寻找更好的解决方案。 NTB:用户模型数据可能来自数据库,也可能不是,但与图片相同。 TIA

c# asp.net-core attributes
1个回答
0
投票

你可以利用反思来实现你的目标。这是一个控制台应用程序示例:

void Main()
{
    var user = new User();
    user.FirstName = "Bob";

    var myType = user.GetType();
    var typeProperties = user.GetType().GetProperties();

    foreach (var property in typeProperties)
    {
        Console.WriteLine($"Property_Name: {property.Name}, Property_value: {property.GetValue(user)}, Property_type: {property.PropertyType}");
        //Output: Property_Name: FirstName, Property_value: Bob, Property_type: System.String
    }

}

public class User
{
    public string FirstName {get;set;}
}

这将对属于用户的所有属性动态起作用。请记住,反射可能会损害性能(取决于您将如何使用它)。

© www.soinside.com 2019 - 2024. All rights reserved.