怎么样可以把一个实体类的属性遍历一边

xiaoxiao0078 2010-08-25 04:45:25
就是说 我自己写了一个实体类,我现在要在不知道这个实体类对象具体有多少的属性时,将所有的遍历一边。最终可以知道这个对象的所有属性及值呢?
各位大虾:有想法的就指点指点小妹,小妹感激不尽!
...全文
582 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiao0078 2010-08-25
  • 打赏
  • 举报
回复
谢谢各位了!
zhilianjuan 2010-08-25
  • 打赏
  • 举报
回复
foreach (PropertyInfo property in peroperties)遍历你的实体层
{property .Name;
property .PropertyType;
}

PropertyInfo 实体层也就是你自己的实体
property 关键字
peroperties 定义的
property .Name; 得到实体的名字
property .PropertyType; 实体的属性
然后你输出就知道了,要不在调试的时候看看你得到的每个属性的值也行



vip__888 2010-08-25
  • 打赏
  • 举报
回复
不错
但是牵扯到拆箱装箱
性能方面注意下
wuyq11 2010-08-25
  • 打赏
  • 举报
回复
public static IList <T> FillList <T>(System.Data.IDataReader reader)
{
IList <T> lst= new List <T>();
while (reader.Read())
{
T RowInstance = Activator.CreateInstance <T>();
foreach (PropertyInfo Property in typeof(T).GetProperties())
{
foreach (BindingFieldAttribute FieldAttr in Property.GetCustomAttributes(typeof(BindingFieldAttribute), true))
{
try
{
int Ordinal = reader.GetOrdinal(FieldAttr.FieldName);
if (reader.GetValue(Ordinal) != DBNull.Value)
{
Property.SetValue(RowInstance, Convert.ChangeType(reader.GetValue(Ordinal), Property.PropertyType), null);
}
}
catch
{
break;
}
}
}
lst.Add(RowInstance);
}
return lst;
}
wuyq11 2010-08-25
  • 打赏
  • 举报
回复
PropertyInfo[] peroperties = typeof(A).GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);

foreach (PropertyInfo property in peroperties)
{property .Name;
property .PropertyType;
}
xrt2008 2010-08-25
  • 打赏
  • 举报
回复
/// <summary>
/// 是否所有的属性不为null
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public static bool Finished(object t)
{
string tStr = string.Empty;
System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
foreach (System.Reflection.PropertyInfo item in properties)
{
string name = item.Name;
object value = item.GetValue(t, null);
if (value == null)
{
return false;
}
}
return true;
}
l13873666736 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 peter200694013 的回复:]
eg:
PropertyInfo[] pis = typeof(类名).GetProperties();

foreach (PropertyInfo pi in pis)

{

var value1 = pi.GetValue(对象名, null);//得到属性的值

var attr=pi.Name.ToString()//得到属性的名称

}
[/Quote]

頂這個
  • 打赏
  • 举报
回复
恩反射!!
Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
eg:
PropertyInfo[] pis = typeof(类名).GetProperties();

foreach (PropertyInfo pi in pis)

{

var value1 = pi.GetValue(对象名, null);//得到属性的值

var attr=pi.Name.ToString()//得到属性的名称

}
Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
用 反射

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧