利用反射读取实体对象的泛型集合IList对象T的值

阿阳888 2013-12-21 12:22:31
有一个model层的类包含IList<T>泛型对象,用反射去读T的值,怎样处理?见如下实例:

[Serializable]
public class Sdf_Sample
{
#region[成员变量]
private string name;
private List<Sdf_User_Info> sdf_User_Info; #endregion

#region[属性]
///<summary>
///名称
///</summary>
public string Name
{
get { return name; }
set { name = value; }
}

/// <summary>
///从表对象集合
/// </summary>
[FieldTag(IsChildren = true)]
public virtual IList<Sdf_User_Info> Sdf_User_Info
{
get
{
if (sdf_User_Info == null)
sdf_User_Info = new List<Sdf_User_Info>();

return sdf_User_Info;
}
set
{
sdf_User_Info = new List<Sdf_User_Info>(value);
}
}
/// <summary>

}

//test
public class test
{
private void GetInsertSql(T model) {
PropertyInfo[] pis = typeof(T).GetProperties();
foreach (PropertyInfo pi in pis)
{
object obj = pi.GetValue(model, null);//======>IList<T>对象
Type ty;
//============求IList<T>中泛型类型============
Type[] typeArguments = obj.GetType().GetGenericArguments();
if (typeArguments.Length > 0)
{
ty = typeArguments[0];
IList<ty> list = (IList<ty>)obj;
//==这里转换报错,ty找不到类型,怎办?
}
}
}
...全文
422 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://www.cnblogs.com/ninputer/articles/415458.html 不要轻易滥用反射。注意要使用接口进行程序设计,而不是反射!

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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