类型转换
目前系统中存在很多类型转换的函数,如Object2Int,Ojbect2Short,Object2Long等,代码重复性很高
性能不如使用Parse或者TryParse进行转换,但是可以使代码更简洁,适用于对性能要求不高的场景
1 private static T Convert<S, T>(S source) 2 { 3 var converter = TypeDescriptor.GetConverter(typeof(T)); 4 if (converter != null && converter.CanConvertFrom(typeof(S))) 5 { 6 var value = (T)converter.ConvertFrom(source); 7 return value; 8 } 9 else 10 { 11 return default(T); 12 } 13 }