从模型/类中获取列表

时间:2016-03-22 15:22:11

标签: c#

<我编辑我的问题,以便每个人都清楚>

我有这个Model / Class

public class Address
{
    public string address{ get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string code { get; set; }
}

我需要一个List<字符串>它包含'Address'的每个属性,例如:

"address", "city", "state", "code"...

我已经尝试使用Reflection但是我失败了,它返回的是“LIST”的属性而不是来自我的Model / Class

PropertyInfo[] propList = Address.GetType().GetProperties();
                    foreach (PropertyInfo prop in propList)
                    {
                        object propValue = prop.GetValue(propertyValue, null);
....

它返回以下属性:

"Capacity", "Count", "Item[Int32]"

2 个答案:

答案 0 :(得分:2)

目前尚不清楚您想要什么,但如果您想要的是具有模型属性的List<string>

var properties = typeof(Address).GetProperties().Select(p => p.Name).ToList();

答案 1 :(得分:0)

所以你想要一个属性列表?我目前无法确切地了解您期望的结果,通常使用带有.GetProperties()方法的反射就像魅力一样。它返回PropertyInfo对象的集合,其中包含对象的所有信息 - 如果您实例化了类的对象,则其名称,类型甚至值。 E.g:

public class Program
{
    public static void Main()
    {
        var address = new Address();

        var type = address.GetType();

        var props = type.GetProperties();

        foreach(var property in props)
        {
            Console.WriteLine(property.Name);
        }
    }


}

public class Address
{
    public string address{ get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string code { get; set; }
}