摘要:
1.定义接口 public interface IVerifyHandler { void Write(string state); bool OnTimeOut(); void OnError(); }2.在上层中(前端层),继承该接口IVerifyHandler,实现其中的所有方法 //写入状态的方法,实现接口IVerifyHandler public void Write(string state) { //线程调用的方法都不能访问用户控件,必须通过委托调用Form的方法来实现... 阅读全文
摘要:
一.扩展方法: 扩展方法的行为和静态方法是非常类似的,你只能在静态类中声明它们。为声明一个扩展方法,你需要给该方法的第一个参数指定this关键字(必须这么做),如下例:优点是:通过IntelliSense查看匿名类型,这样更容易 找到需要的功能。// Program.cs public static class EMClass { public static int ToInt32Ext(this string s) { return Int32.Parse(s); } public static int T... 阅读全文
摘要:
VS2012变化的快捷键:注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C)(实际操作,按住Ctrl键不放,先按K键,再按C键。相当于Ctrl+K加 Ctrl+C的组合键)反注解:VS2010是(Ctrl+E,U),VS2012是(Ctrl+K, Ctrl+U)1. 强迫智能感知:Ctrl+J; 2.强迫智能感知显示参数信息:Ctrl-Shift-空格; 3.格式化整个块:Ctrl+K+F 4. 检查括号匹配(在左右括号间切换): Ctrl +] 5. 选中从光标起到行首(尾)间的代码: Shift + Home(End) 6. 在方法定义和调用之点切换 阅读全文
摘要:
1.什么是单例模式 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 2.单例模式应用场景举例 NET中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多... 阅读全文
摘要:
1.以Northwind数据库为例,以下是一个插入并查询显示的过程!(Customer是其中的一张表,这里实例化一个,并存入数据库!) NorthwindDataContext context = new NorthwindDataContext(); Customer c = new Customer { CustomerID = "Test2", CompanyName = "Test Company2" }; context.Customer.InsertOnSubmit(c); context.SubmitChanges(); Customer 阅读全文
摘要:
1.使用命名的方法:场景:通用代码开发者想要创建一个通用的方法来筛选整型数组,但是这个通用方法要能够制定用来筛选该数组的的算法。 首先,开发者必须声明一个委托delegate,该委托的设计原型就是收到一个int(整型)类型,如果在被筛选的数组中确实包含一个int类型,则这个委托将返回true。创建一个工具类并添加了delegate和筛选方法,这个公共代码如下: public class Common { public delegate bool IntFilter(int i); public static int[] FilterArrayOfInts(in... 阅读全文
摘要:
1.在控制台下运行以下代码: string [] geetings={"Hello world","hello LINQ","helo Apress"}; var items = //这一段可以用var items=geetings.where(s=>s.EndsWith("LINQ"));代替!!! from s in geetings where s.EndsWith("LINQ") select s; foreach (var item in items) Console.Write 阅读全文
摘要:
1.有关简洁: 使用#region标记代码区域,便于折叠2.有关命名:使用有意义的名称,如IsDepartmentReadyToOfferJob使用完整单词,帕斯卡(Pascal)和骆驼(Camel)写法正误NumberOfArgumentsInnargin 根据含义而非类型命名正误ParcelNamestrParcelName 不要用大小写区分名称像普通词一样书写缩略词:XmlReader;System.Linq用复数形式书写集合名称习惯性后缀(前缀):抽象基类-Base接口I-异常-Exception事件参数-EventArgs事件委托-EventHandler特性-Attribute泛型 阅读全文
摘要:
一、概述 WCF在通信过程中有三种模式:请求与答复、单向、双工通信。以下我们一一介绍。二、请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务端有了答复后才能继续执行其他程序,如下图所示(图中的粗红线在此时代表顺序并不代表调用): 请求与答复模式为WCF的默认模式,如下代码所示:1 [OperationContract]2 string ShowName(string name); 即使返回值是void 也属于请求与答复模式。 缺点:如果用WCF在程序A中上传一个2G的文件,那么要想执行程序B也... 阅读全文
摘要:
有时候我们会遇到这样的需求,需要向数据库导入Excel,或者从数据库中导出数据存为Excel,尤其是在做报表的时候,或者需要从其他系统导入数据,一般都是以Excel文件形式存在的。正好这几天在做这样的事,我整理一下这两种操作的大概做法。以后遇到这样的问题就不用怕了!!!1.数据从数据库中导出存为Excel:privatevoidbtnInput_Click(objectsender,EventArgse){DataGridViewToExcel("采集信息");} privatevoidDataGridViewToExcel(stringfilename){using(Op 阅读全文