System.ArgumentException:“类型“System.Collections.Generic.List`1[System.Object]”的对象无法转换为类型“System.Collections.Generic.List

动态 未结 0 77
小小草
小小草 LV1 2023年9月23日 23:40 发表
这个异常的意思是,代码试图将类型为 `System.Collections.Generic.List` 的对象转换为类型为 `System.Collections.Generic.List` 的对象,但是这种转换是不合法的。 可能的原因是,代码中使用了反射机制动态创建了一个 `List` 类型的列表,并试图将其赋值给一个 `List` 类型的字段或属性。由于这两种类型并不相同,因此会抛出上述异常。 要解决这个问题,可以考虑将代码中的 `List` 类型改为 `List` 类型,或者在赋值时进行类型转换。例如,可以使用 LINQ 中的 `Cast` 方法将 `List` 转换为 `List`,如下所示: ``` List list = tmpx.Cast().ToList(); allField[i].SetValue(obj, list); ``` 其中,`tmpx` 是之前从二进制数据流中读取出来的 `List` 类型的列表,`list` 是将其转换为 `List` 类型后得到的新列表。最后,将 `list` 赋值给对象 `obj` 中名为 `allField[i]` 的字段即可。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复