object 转为 List的问题
数据结构
class ClassF
{
string a1=;
List<ClassC1> listc1;
List<ClassC2> listc2;
List<ClassC2> listc3;
}
class ClassC1{}
class ClassC2{}
class ClassC3{}
我通过遍历属性得到ClassF实例的各属性类型和值(object类型),当遇到List的时候需要再对子类List进行遍历,但子类是根据属性动态得到类型的,请问如何定义和遍历子类List.代码如下:
//BaseModel为各Model的父类
private static void ModelToQuery(WebClientEx webClient, BaseModel model)
{
//获取实体属性集合
PropertyInfo[] pis = model.GetType().GetProperties();
for (int i = 0; i < pis.Length; i++)
{
//获取属性的值
object objValue = pis[i].GetValue(model, null);
//是否为子实体列表
if (pis[i].PropertyType.IsGenericType)//是否是泛型类型
{
List<BaseModel> list1 = (List<BaseModel>)objValue;//这句是错误的
foreach (BaseModel childModel in objValue)
{
ModelToQuery(webClient, (BaseModel)childModel);
}
}
else
webClient.QueryString.Add(pis[i].Name, objValue.ToString());
}
}