【发布时间】:2012-07-13 16:57:23
【问题描述】:
我的函数要求您将一个字符串和一个类型作为 T 传递给它。基于 T 我想将字符串 val 解析为该类型,但我从这个问题的标题中得到了错误。任何有任何见解或其他方式来完成此功能的人,我将不胜感激。
T Parse<T>(string val) where T : System.Object
{
TypeCode code = Type.GetTypeCode(typeof(T));
switch (code)
{
case TypeCode.Boolean:
return System.Boolean.Parse(val);
break;
case TypeCode.Int32:
return Int32.Parse(val);
break;
case TypeCode.Double:
return Double.Parse(val);
break;
case TypeCode.String:
return (string)val;
break;
}
return null;
}
【问题讨论】:
-
你在那里做的是滥用泛型。如果要检查类型,为什么还要使用泛型?
标签: c#-2.0