有一个通用parse()函数,将一个字符串转换为使用解析任何类型的? [英] is there a generic Parse() function that will convert a string to any type using parse?
本文介绍了有一个通用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屋!
查看全文