菜鸟类库诞生记一:值类型的扩展
自从上次一篇博客已经有两个月了,因为一些事耽搁了 - (出发前说说我的个人感想)。
到上海之后参加了很多面试,不管从技术上还是项目经验都遭遇到了一些打击,所以决心打造属于自己的框架作品。
虽然我还是一个菜鸟,不过我相信只要坚持就会实现我的目标。
今天的内容会很简单,只是想在博客上做一个简单的记录。
此扩展方法只是方便把对象转化为指定的值类型,如果转化失败,就返回要转化的值类型的默认值。
希望园友们能够多多提出你们的意见,谢谢啦!
代码如下:
1 using System; 2 3 namespace YCG.FCL.Common.ExtensionMethods 4 { 5 public static class ValueTypeExtension 6 { 7 public static bool ToBool(this object value) 8 { 9 bool result = default(bool); 10 if (value.IsNotNull()) 11 { 12 bool.TryParse(value.ToString(), out result); 13 } 14 return result; 15 } 16 17 public static byte[] ToBytes(this object value) 18 { 19 try 20 { 21 return (byte[])value; 22 } 23 catch (InvalidCastException castException) 24 { 25 throw castException; 26 } 27 } 28 29 public static bool IsNotNull(this object value) 30 { 31 return value != null && value != DBNull.Value; 32 } 33 34 public static Int16 ToInt16(this object value) 35 { 36 Int16 result = default(Int16); 37 if (value.IsNotNull()) 38 { 39 Int16.TryParse(value.ToString(), out result); 40 } 41 return result; 42 } 43 44 public static Int32 ToInt32(this object value) 45 { 46 Int32 result = default(Int32); 47 if (value.IsNotNull()) 48 { 49 Int32.TryParse(value.ToString(), out result); 50 } 51 return result; 52 } 53 54 public static Int64 ToInt64(this object value) 55 { 56 Int64 result = default(Int64); 57 if (value.IsNotNull()) 58 { 59 Int64.TryParse(value.ToString(), out result); 60 } 61 return result; 62 } 63 64 public static float ToFloat(this object value) 65 { 66 float result = default(float); 67 if (value.IsNotNull()) 68 { 69 float.TryParse(value.ToString(), out result); 70 } 71 return result; 72 } 73 74 public static double ToDouble(this object value) 75 { 76 double result = default(double); 77 if (value.IsNotNull()) 78 { 79 double.TryParse(value.ToString(), out result); 80 } 81 return result; 82 } 83 84 public static decimal ToDecimal(this object value) 85 { 86 decimal result = default(decimal); 87 if (value.IsNotNull()) 88 { 89 decimal.TryParse(value.ToString(), out result); 90 } 91 return result; 92 } 93 94 public static DateTime ToDateTime(this object value) 95 { 96 DateTime result = default(DateTime); 97 if (value.IsNotNull()) 98 { 99 DateTime.TryParse(value.ToString(), out result); 100 } 101 return result; 102 } 103 } 104 }
我会持续的记录个人类库诞生的过程。
以同步至:个人文章目录索引