【发布时间】:2012-04-04 02:05:06
【问题描述】:
可能重复:
How can I fix this up to do generic conversion to Nullable<T>?
public static class ObjectExtensions
{
public static T To<T>(this object value)
{
return (T)Convert.ChangeType(value, typeof(T));
}
}
我上面的扩展方法有助于将一种类型转换为另一种类型,但它不支持可为空的类型。
例如,{0} 工作正常,但 {1} 不工作:
{0}:
var var1 = "12";
var var1Int = var1.To<int>();
{1}:
var var2 = "12";
var var2IntNullable = var2.To<int?>();
那么,如何编写一个支持与可空类型相互转换的通用转换方法?
谢谢,
【问题讨论】:
-
你试过
Nullable<int>吗? -
@MrLister,您不能在泛型方法中指定类型。
标签: c# generics extension-methods type-conversion