【发布时间】:2014-03-15 11:43:46
【问题描述】:
我有一个方法需要将字符串转换为泛型:
T GetValue<T>(string name)
{
string item = getstuff(name);
return item converted to T // ????????
}
T 可以是整数或日期。
【问题讨论】:
-
如果
T可以是onlyint或DateTime,请不要使用泛型。如果T也可以是其他类型,请参阅Serialization。 -
return (T)Convert.ChangeType(item, typeof(T)); -
查看Convert.ChangeType(obj, type) 方法是否适合您的需求。
-
我必须同意这是对泛型方法的错误使用。您应该简单地为 int 和 DateTime 编写一个单独的方法。你可以让它工作,但这并不意味着你应该这样做。
标签: c# generics type-conversion