首页 > 代码库 > 泛型使用中,解决类型转换问题
泛型使用中,解决类型转换问题
遇到的问题是这样,系统中有一个字符类型的字段来存储一些通用的系统配置,虽然存储的形式是字符串,但是实际在系统中的使用类型则可能是string, bool, int, decimal.
这个时候就想写一个通用的方法来获取各种不同类型的返回值,当然这个时候想到的就是使用泛型。那么这个方法的定义大概就是这样:
T GetValue<T>(string key)
这个方法涉及到一个字符串类型转换成泛型的问题。
public T GetSingleConfigValue<T>(eConfigKeyName key, T defaultValue){ var config = GetConfig(key) return (T)config;}
直接使用上面的方式,就会出现如下的编译错误。
查了查资料,正确的方法是使用Convert.ChangeType方法:
(T) Convert.ChangeType(result, typeof (T));
泛型使用中,解决类型转换问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。