最近在写一个泛型方法,想通过此方法调用实现某些类型的TryParse方法,通过比如int,Date的TryParse方法.如下
![]()
)
但是在反射这些类型的TryPase方法时总是提示"发现不明确的匹配",查看帮助文档发现反射重载的方法必须指定参数类型,于是就增加了参数类型的数组,如下
![]()
, types);
方法是匹配了,而且不会出现"发现不明确的匹配"的异常,但是返回的方法m是null,也就是没有反射到这个方法.后来发现问题在于参数类型,因为TryParse的第二个参数类型是out Date,引用类型.用遍历查看Date的TryPase方法的所有参数类型,发现TryPase第二个参数类型是System.Date&,而不是System.Date.刚好Type有个Type.GetType(string s),通过字符串获取类型的方法,改造之后即可,如下
![]()
}
相关文章:
-
2021-05-31
-
2022-12-23
-
2021-05-01
-
2021-09-24
-
2022-12-23
-
2021-05-27
-
2021-12-27
-
2021-04-04
猜你喜欢
-
2021-12-18
-
2022-12-23
-
2021-08-10
-
2021-10-22
-
2022-12-23
-
2021-05-12
相关资源
-
下载
2022-12-17
-
下载
2022-12-04
-
下载
2021-06-07