有一个通用parse()函数,将一个字符串转换为使用解析任何类型的? [英] is there a generic Parse() function that will convert a string to any type using parse?

查看:317
本文介绍了有一个通用parse()函数,将一个字符串转换为使用解析任何类型的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想一个字符串转换为泛型类型,比如 INT 日期基于通用返回类型。

I want to convert a string to a generic type like int or date or long based on the generic return type.

基本上像解析℃的功能; T>(字符串)返回类型的项目 T

Basically a function like Parse<T>(String) that returns an item of type T.

例如,如果一个INT传递函数应该做的 int.parse 内部。

For example if a int was passed the function should do int.parse internally.

推荐答案

<一个href=\"http://msdn.microsoft.com/en-us/library/system.convert.changetype.aspx\">System.Convert.ChangeType

根据你的例子,你可以这样做:

As per your example, you could do:

int i = (int)Convert.ChangeType("123", typeof(int));
DateTime dt = (DateTime)Convert.ChangeType("2009/12/12", typeof(DateTime));

要满足你的通用返回类型的要求,你可以编写自己的扩展方法:

To satisfy your "generic return type" requirement, you could write your own extension method:

public static T ChangeType<T>(this object obj)
{
    return (T)Convert.ChangeType(obj, typeof(T));
}

这将允许你这样做:

int i = "123".ChangeType<int>();

这篇关于有一个通用parse()函数,将一个字符串转换为使用解析任何类型的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆