[C#] - PropertyInfo类

//遍历属性,取值

AgentInfoModel aim = new AgentInfoModel();
aim.TargetID = 329;
aim.Accounts = "333";

Type type = typeof(AgentInfoModel);
string tempName = "";
PropertyInfo[] propertys = aim.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
    if (pi.DeclaringType != type)
    {
        tempName = pi.Name;
        Console.WriteLine(tempName + " " + pi.GetValue(aim));
     }
}

//属性所在类,用来判断是否为当前类
pi.DeclaringType;

//取值时传入的是对象
pi.GetValue(aim);

//自定义属性类型
.GetProperties(BindingFlags.Public | BindingFlags.Instance);

// 指定当绑定时不应考虑成员名的大小写。
IgnoreCase = 1,
// 指定只应考虑在所提供类型的层次结构级别上声明的成员。 不考虑继承成员。
DeclaredOnly = 2,
// 指定实例成员将包括在搜索中。
Instance = 4,
// 指定静态成员将包括在搜索中。
Static = 8,
// 指定公共成员将包括在搜索中。
Public = 16,
// 指定非公共成员将包括在搜索中。
NonPublic = 32,

你可能感兴趣的:([C#] - PropertyInfo类)