2011年2月14日

private 和 protected 构造函数的选择

摘要: 实现单例模式的时候经常要把构造函数标记为private 和protected以防止外部直接通过new操作符 构造一个新的实例众所周知 private 和protected的主要区别就是 后者允许子类调用被标记为protected的方法另外一个常识: 使用new操作符构造一个子类的过程中 .net会先构造一个父类出来 ,如此递归 直到object对象那么也就是说 标记为protected的时候 实际上还是可以通过继承的方式间接的构造父类对象代码如下: (new ClassB的同时也间接的new ClassA了)[代码]private则没有这个问题, 但是! 标记为private以后实际上也就意味 阅读全文

posted @ 2011-02-14 13:11 听说读写 阅读(3813) 评论(1) 推荐(0) 编辑

某项目要调用现有的100多个DLL 三 先解决为一个类型做一个跨域的问题

摘要: 将同类的操作Wrap在同一个类型中,如以下代码: [代码]这是一个简单的wrap 用于调用另外一个dll的OPATest 类 , 同时测试一下代码是否运行在独立的域中构造函数变为Protected的主要原因是禁止直接通过构造函数新建wrap实例,强迫通过DefaultInstance的方式调用代码 (这样才是应用程序隔离的)不变成Private的原因是之后还需要有继承 如果把父类的构造函数设置为private 那么子类也构造不了但是在当前代码中 你应该把protected改为public 才可以正常的运行, 为了解决跨域的问题 将wrap类继承于 MarshalByRefObject ,Opa 阅读全文

posted @ 2011-02-14 11:40 听说读写 阅读(517) 评论(0) 推荐(0) 编辑

面试题:红绿灯

摘要: 已知一个十字路口,1.每次切换红绿灯的时间间隔总是M2.相对的红绿灯总是同样的状态3.相邻的红绿灯总是不同的状态( 即状态要么是 0101 要么是1010 不可能出现其他状态,如1100)4.一个人通过一个人行横道的时间是N (N<M)5.请问一个人任意时间到达路口,到达对角所需的平均时间6.按照国外的情况 只要你上人行道的时候还是绿灯, 那么你就可以一直走过去 (即使下一秒变成了红灯)大意就是碰运气啦 一个人要走到对角 平均需要多久 阅读全文

posted @ 2011-02-14 11:06 听说读写 阅读(922) 评论(2) 推荐(0) 编辑

导航