惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
V
V2EX
博客园 - 【当耐特】
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
B
Blog
V
Visual Studio Blog
D
DataBreaches.Net
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs

博客园 - JustRun

Webpack中publicPath设置 忘记Mysql的root密码怎么办? Visual Studio 2015上安装Entity Framework Power Tools Ubuntu下安装中文输入法 Ubuntu如何选择更新源 Orchard中如何配置远端发布 .Net缓存管理框架CacheManager 全新的membership框架Asp.net Identity(2)——绕不过的Claims 全新的membership框架Asp.net Identity(1)——.Net membership的历史 .Net中使用SendGrid Web Api发送邮件(附源码) 使用Filter跟踪Asp.net MVC页面加载时间 下一代Asp.net开发规范OWIN(3)—— Middleware 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用 下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍 对象映射工具AutoMapper介绍 AngularJs中,如何在render完成之后,执行Js脚本 .Net Collection的一些理解——记录一次向实习生的答疑 代替Reflection(反射)的一些方法 使用PhoneGap开启移动开发之旅
泛型使用中,解决类型转换问题
JustRun · 2014-12-15 · via 博客园 - JustRun

泛型使用中,解决类型转换问题

2014-12-15 20:00  JustRun  阅读(4533)  评论()    收藏  举报

遇到的问题是这样,系统中有一个字符类型的字段来存储一些通用的系统配置,虽然存储的形式是字符串,但是实际在系统中的使用类型则可能是string, bool, int, decimal.

这个时候就想写一个通用的方法来获取各种不同类型的返回值,当然这个时候想到的就是使用泛型。那么这个方法的定义大概就是这样:

T GetValue<T>(string key)

这个方法涉及到一个字符串类型转换成泛型的问题。

public T GetSingleConfigValue<T>(eConfigKeyName key, T defaultValue)
{
      var config = GetConfig(key)
      return (T)config;
}

直接使用上面的方式,就会出现如下的编译错误。

image 

查了查资料,正确的方法是使用Convert.ChangeType方法:

(T) Convert.ChangeType(result, typeof (T));

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下右下角的关注 Justrun
因为,我的写作热情也离不开您的肯定支持。

感谢您的阅读,这里还有你可能感兴趣的文章推荐博客文章