2012年1月31日
摘要: 厌倦了程序中无处不在的try...catch...finally,在年前出差回公司后快放假那段有点疼的日子里按照《代码整洁之道》中剥离异常捕获的思想写了段代码。原理:根据C#中的委托,将要执行的函数放入封装了try...catch...finally的函数库中,这边就叫 异常剥离函数。一、参数众多的异常剥离 1 /// <summary> 2 ///整洁函数 3 ///用来对委托进行try{}catch{} finally{}的封装 4 /// </summary> 5 public class CleanCodeInvoker 6 { 7 #region Func&l 阅读全文
posted @ 2012-01-31 20:15 菜鸟老了 阅读(2070) 评论(5) 推荐(3) 编辑
  2011年12月16日
摘要: 常规:1、枚举类命名:e_EnumName2、接口命名:IInterfaceName3、类命名:ClassName4、结构体命名:st_StructName5、抽象类命名:a_AbstractClassName6、密封类命名:sl_SealClassName7、静态类命名:s_StaticClassName8、非静态函数命名:f_FunctionName9、静态函数命名: fs_FunctionName 10、全局变量命名:g_variableName11、非静态属性命名:p_PropertyName12、静态属性命名:ps_PropertyNameMVVM:Control: ControlN 阅读全文
posted @ 2011-12-16 21:07 菜鸟老了 阅读(265) 评论(0) 推荐(0) 编辑
  2011年7月21日
摘要: 大家都知道这个是语法糖。毛主席告诉过我们,要顶住敌人糖衣炮弹个的进攻,so....C#强调类型安全,所以弄不明白为什么会有个dynamic,var至少还在编译的时候进行类型检测,编译后帮我们转换成相应的类型。dynamic编译后是变成object,但是它又不同于object:dynamic dy="new string";dy=1;object ob="new string";ob=1;(他们说代码要着色,这个东西真的不好用,不是我不用)毫无疑问,上面的代码编译后的结果如下:object dy="new string";dy=1;ob 阅读全文
posted @ 2011-07-21 09:53 菜鸟老了 阅读(1182) 评论(14) 推荐(0) 编辑
  2011年7月20日
摘要: 好吧 我是今天才知道有这家伙。类型构造器,顾名思义,是一个类的类型的构造器(满绕的)。它定义为static并且访问级别只能是private。类型构造器在类被第一次访问前调用,用来对类内部的静态成员进行初始化赋值(如果有的话),类内部的非静态成员在类的构造器里面进行初始化。例如:public class SomeClass{Int32 i=0;//在类的构造器中进行初始化(.ctor)static Int32 j=0;//在类型构造器中进行初始化(.cctor)}method private hidebysig specialname rtspecialname static void .cct 阅读全文
posted @ 2011-07-20 10:56 菜鸟老了 阅读(1592) 评论(18) 推荐(1) 编辑