迭代类字段并打印它们

时间:2011-07-19 09:46:07

标签: c#

如果我有一个像

这样的课程
public class User{
            public int Id { get; set; }
            public int Reputation { get; set; }
            public string DisplayName { get; set; }
            public DateTime LastAccessDate { get; set; }
            public DateTime CreationDate { get; set; }
            public string WebSiteUrl { get; set; }
            public int Views { get; set; }
            public int Age { get; set; }
            public int UpVotes { get; set; }
            public int downVotes { get; set; }
            public string Location { get; set; }
            public string AboutMe { get; set; }
    }

我想动态地遍历这些字段,例如某些方法将检查传递的对象,它将返回调用者的字段。

这可能吗?

1 个答案:

答案 0 :(得分:50)

他们不是田地,他们是财产。您可以使用反射来列出它们:

User user = ...
foreach(PropertyInfo prop in typeof(User).GetProperties())
{
    Console.WriteLine("{0} = {1}", prop.Name, prop.GetValue(user, null));
}