没有为该对象定义无参数的构造函数

在 使用Activator.CreateInstance反射创建对象时,一定要注意构造函数参数问题。如果对象有自定义的构造参数,必须添加参数对应的参数。

MyObject myObject = (MyObject)Activator.CreateInstance(myObjectType); //错误1
MyObject myObject = (MyObject)Activator.CreateInstance(myObjectType,null); //错误2

错误1会导致:没有为该对象定义无参数的构造函数。

错误2会导致:未找到类型"XXX"上的构造函数。

正确方式输入object数组参数对象。

MyObject myObject = (MyObject)Activator.CreateInstance(myObjectType, new object[] {"参数",…}); //正确
posted @ 2021-02-25 06:43  我也是个傻瓜  阅读(2562)  评论(0编辑  收藏  举报