动态创建的类反序列化问题(List)
动态生成了一个类。里边包含List<T>属性,T也为动态创建的类,过程(生成List<T>过程):
Type tlist=typeof(List<>).MakeGenericType(tt);//tt为T的类型
string ss=arrCol[i].ToString();
CreateProperty(typebuilder, ss, tlist);//生成List<CL>
生成过程没有错误,但是将xml文件反序列化的过程报错了(There is an error in XML document (0, 0).),声明,文件没错,之前通过此文件用手写的类反序列化过,不知道还需要做什么特殊处理么? 序列化 xml 反射 --------------------编程问答-------------------- CreateProperty是神马玩意?ss和生成List<T>有什么关系。 --------------------编程问答-------------------- 系列化和反系列化本来都需要严格验证,并且要设置好属性.才可以正常系列化和反系列化
你还来动态创建类,那你首先要确保所创建的类没有问题.
不知道你的要求有多高?为何要动态类才能达到要求?是否可以把你设计类的思想说出来看看,可不可以不用动态类?直接设计为实体类?
--------------------编程问答--------------------
我试过动态创建除了List<T>的类,是可以反序列化的,但是加上List之后就报错了,我要解析各种协议,但是协议不是固定的,只是为了少改代码,才这样写,我的类的属性没有问题,只是我看见网上有说需要有构造函数,有关系么? --------------------编程问答--------------------
CreateProperty是一个创建属性的函数,ss是List<T>所属的属性名
补充:.NET技术 , .NET Framework