zoukankan      html  css  js  c++  java
  • 解决反射时因参数类型(out参数)不正确而导致的异常

    最近在写一个泛型方法,想通过此方法调用实现某些类型的TryParse方法,通过比如int,Date的TryParse方法.如下
    1
    但是在反射这些类型的TryPase方法时总是提示"发现不明确的匹配",查看帮助文档发现反射重载的方法必须指定参数类型,于是就增加了参数类型的数组,如下
    2
    方法是匹配了,而且不会出现"发现不明确的匹配"的异常,但是返回的方法m是null,也就是没有反射到这个方法.后来发现问题在于参数类型,因为TryParse的第二个参数类型是out Date,引用类型.用遍历查看Date的TryPase方法的所有参数类型,发现TryPase第二个参数类型是System.Date&,而不是System.Date.刚好Type有个Type.GetType(string s),通过字符串获取类型的方法,改造之后即可,如下
    3
  • 相关阅读:
    ASCII,Unicode 和 UTF-8
    ASCII,Unicode 和 UTF-8
    043_JVM——JVM是什么鬼啊?他与操作系统是什么关系?
    042_杂谈——编程语言的发展
    042_线程——我们写的代码,为什么我从来没有线程呢?
    041_ssm——/与/*与*.do的区别?
    040_HTTP——为什么会有get与post两种请求?
    039_Servlet——SpringMVC中怎么不见Servlet呢?我们写的Controller都是普通类,Servlet藏到了那里?
    038_JVM——怎么查看对象的内存大小?
    037_JVM——java中的类加载器是怎么运行的?
  • 原文地址:https://www.cnblogs.com/shenba/p/940015.html
Copyright © 2011-2022 走看看