摘要: 1个项目中用到了很多DLL,而NET默认只能把这些DLL全部和EXE程序放在同1个目录下,而我想把所有控件功能的dll放在1个Control的文件夹下面,这样方便管理。 要实现上面的功能很简单,首先为程序加个应用程序配置文件app.config,代码如下:<?xmlversion="1.0"encoding="utf-8"?><configuration><runtime><assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1">& 阅读全文
posted @ 2013-03-07 11:03 雇佣兵333 阅读(240) 评论(0) 推荐(0)
摘要: 判断Window服务是否存在View Code public static bool ServiceIsExisted(string serviceName) { ServiceController[] servicesController = ServiceController.GetServices(); foreach (ServiceController each in servicesController) { if (each.ServiceName.ToLower().... 阅读全文
posted @ 2013-01-17 18:17 雇佣兵333 阅读(278) 评论(0) 推荐(0)
摘要: 读取Excel中数据到DataSetView Code static public DataSet ExcelToDataSet(string filename, DataSet ds) { //string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filename + ";Extended Properties=Excel 8.0"; string strConn = " Provider = Microsoft.ACE.OLEDB.12.0... 阅读全文
posted @ 2013-01-17 17:46 雇佣兵333 阅读(279) 评论(0) 推荐(0)
摘要: 1.DataGrid的使用自动显示行号(修复删除行时行号显示不正确)View Code dgTool.LoadingRow += new EventHandler<DataGridRowEventArgs>(dgTool_LoadingRow); dgTool.UnloadingRow +=new EventHandler<DataGridRowEventArgs>(dgTool_UnloadingRow); void dgTool_LoadingRow(object sender, DataGridRowEventArgs e) { ... 阅读全文
posted @ 2013-01-17 17:07 雇佣兵333 阅读(3526) 评论(2) 推荐(3)
摘要: 将DataTable 转换List <T> 1)要求DataTable中的列名称必须和实体的属性名称相同 public static List<TResult> DataTableToList<TResult>(DataTable dt) where TResult : class,new() { //创建一个属性的列表 List<PropertyInfo> prlist = new List<PropertyInfo>(); //获取TResult的类型实例 反射的入口 ... 阅读全文
posted @ 2013-01-17 13:52 雇佣兵333 阅读(1620) 评论(0) 推荐(0)
摘要: 概述:在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?意图:定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory Method模式通过面向对象的手法,将所要创建的具体对象的创建工作延迟到子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。实质: 在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。在子类的内部创建对象通常比直接 阅读全文
posted @ 2012-12-28 18:25 雇佣兵333 阅读(742) 评论(0) 推荐(0)
摘要: 概述: 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。意图:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。实质: 代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不.. 阅读全文
posted @ 2012-12-27 17:50 雇佣兵333 阅读(1230) 评论(0) 推荐(1)
摘要: 问题描述:在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片,一次只移动一片,不管在哪根针上,小片必在大片上面。当所有的金片都从梵天穿好的那根针上移到另外一概针上时,世界就将在一声霹雳中消灭,梵塔、庙宇和众生都将同归于尽。不管这个传说的可信度有多大,如果考虑一下把64片金片,由一根针上移到另一根针上,并且始终保持上小下大的顺序。这需要多少次移动呢?这里需要递归的方法。假设有n片,移动最少 阅读全文
posted @ 2012-12-24 18:29 雇佣兵333 阅读(4916) 评论(4) 推荐(0)
摘要: 问题描述: 最大间隙问题:给定n 个实数x1 , x2 , , xn,求这n 个数在实轴上相邻2 个数之间的最大差值。假设对任何实数的下取整函数耗时O(1),设计解最大间隙问题的线性时间算法。编程任务: 对于给定的n 个实数 x1 , x2, ……, xn,编程计算它们的最大间隙。数据样例: 输入数据: 5 2.3 3.1 7.5 1.5 6.3 输出数据: 3.2算法思想分析: 对于给定的n 个实数先取得其最大值和最小值,n个数的大小范围为[min,max];剩余n-2个点等分区间[min,max]产生n-1个闭区间的桶,如果我们假设每个桶的区间为[,)所以要增加一个桶放max... 阅读全文
posted @ 2012-12-20 18:53 雇佣兵333 阅读(1576) 评论(0) 推荐(0)
摘要: 概述:装饰模式又名包装(Wrapper)模式,是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。意图:动态方式给一个对象附加更多的功能。装饰模式可以在不创造更多的子类的情况下扩张对象的功能。动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活(为什么比继承要好,后面会讲到)。实现对客户端透明 (怎么实现,后面会讲到)实质: 实现对客户端透明的方式扩展对象的功能。使用场景:主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质(以继承的方式使某一类型要获得功能是在编译时是静态的,动态,是指在运行时),使得这种扩展方式缺乏灵活性;并且 阅读全文
posted @ 2012-12-18 18:10 雇佣兵333 阅读(948) 评论(0) 推荐(1)