类型转换


目前系统中存在很多类型转换的函数,如Object2Int,Ojbect2Short,Object2Long等,代码重复性很高

性能不如使用Parse或者TryParse进行转换,但是可以使代码更简洁,适用于对性能要求不高的场景

 1     private static T Convert(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     }

相关