代码来源于这里
我想听听一些专家对这个扩展方法的意见。我打算使用它,但想了解可能会遇到的任何已知问题。
对于原始类型,我是否最好使用TryParse方法?
public static T? TryParse<T>(this object obj) where T : struct
{
if (obj == null) return null;
T? result = null;
TypeConverter converter = TypeDescriptor.GetConverter(typeof(T));
if (converter != null)
{
try
{
string str = obj.ToString();
result = (T)converter.ConvertFromString(str);
}
catch (Exception ex)
{
throw ex;
}
}
return result;
}