开发者社区> 问答> 正文

反射中调用方法传入参数类型一样 却报错 ?报错

object obj = Activator.CreateInstance(objectType);// 创建实例
反射创建一个实例
MethodInfo methodInfo = obj.GetType().GetMethod("Parse");
//调用里面的Parse 方法 这个方法需要参数 List
methodInfo.Invoke(obj, new object[]{items});
//items 是List类型的参数 ,这样应该没错吧 。但是 在Invoke 是报错了。
类型“System.Collections.Generic.List1[ORMTool.SerializabBaseObject]”的对象无法转换为类型“System.Collections.Generic.List1[ORMTool.SerializabBaseObject]”。

类型是一样的 为什么会不能转换呢?

展开
收起
爱吃鱼的程序员 2020-06-23 14:44:53 450 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    objectType是哪里来的
    泛型方法要用Type.MakeGenericType创建

    泛型类型要用Type.MakeGenericType创建

    2020-06-23 14:45:11
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载