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

阿阳888 阿阳888 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有一个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找不到类型,怎办?
}
}
}
...全文
评论 1
收藏 已收藏
分享
返回顶部
阿阳888
.NET技术前瞻 13,343 成员 5,385 内容