记录实习遇到的问题(一)

.NET从数据库读取数据反序列化时,如果只有有参的构造函数,没有无参构造函数报错。

在.NET中,反序列化是将二进制数据转换回.NET对象的过程。当你从数据库读取数据反序列化时,反序列化过程需要使用对象的构造函数创建一个新的对象,并使用反序列化器将二进制数据填充到该对象中。

如果你的.NET类中只有有参的构造函数而没有无参构造函数,则反序列化器无法使用默认的无参构造函数创建对象。因此,当你尝试反序列化该对象时,会抛出一个异常,提示缺少无参构造函数。

在.NET中,如果一个类没有显式定义构造函数,编译器会自动为该类生成一个默认的无参构造函数。这个默认构造函数不需要任何参数,它的作用是创建对象并初始化所有实例变量的默认值。

反射和反序列化都涉及到使用构造函数创建对象。反射是.NET框架中的一种机制,可以在运行时动态地加载、检查和调用程序集中的类型和成员。

posted @ 2023-03-10 11:25  YuSongLiu  阅读(69)  评论(0编辑  收藏  举报