文章分类 -  C# 代码质量

改善C#代码质量
摘要:受保护的虚方法用来提醒子类:必须在实习自己的清理方法是注意到父类的清理工作,即子类需要在自己的释放方法中调用base.Dispose方法。 阅读全文
posted @ 2016-02-29 17:31 小-黑 阅读(85) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-02-29 17:00 小-黑 阅读(76) 评论(0) 推荐(0)
摘要:类型的终结器(析构器)~SampleClass ~SampleClass() { //必须为false Dispose(false); } 阅读全文
posted @ 2016-02-24 16:51 小-黑 阅读(67) 评论(0) 推荐(0)
摘要:托管资源:有CLR管理分配和释放的资源,即从CLR里new 出来的对象; 非托管资源:非CLR管理的对象,比如Windows内核对象,文件、数据库连接、套接字、COM对象等。 如果类型需要显示释放资源,必须要继承IDispose接口。 using(SampleClass c1 = new Sampl 阅读全文
posted @ 2016-01-22 13:47 小-黑 阅读(113) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-01-21 13:23 小-黑 阅读(89) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-01-21 13:23 小-黑 阅读(73) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-01-21 13:21 小-黑 阅读(56) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-01-21 13:19 小-黑 阅读(74) 评论(0) 推荐(0)
摘要:事件模型设定的规范:委托类型的名称以EventHandler结束;委托原型返回值为void;委托原型具有两个参数:sender表示事件触发者,e表示事件参数;事件参数的名称以EventArgs结束。 阅读全文
posted @ 2016-01-21 10:55 小-黑 阅读(64) 评论(0) 推荐(0)
摘要:防止调用者修改: 阅读全文
posted @ 2016-01-20 17:46 小-黑 阅读(73) 评论(0) 推荐(0)
摘要:两个要点:委托是方法指针;委托是一个实例,对其进行实例化的时候,引用方法作为其构造方法的参数。Func add = new Func(Add); 阅读全文
posted @ 2016-01-20 17:41 小-黑 阅读(91) 评论(0) 推荐(0)
摘要:static void Main(string[] args) { List lists = new List(); for(int i = 0; i { ... 阅读全文
posted @ 2016-01-20 17:32 小-黑 阅读(75) 评论(0) 推荐(0)
摘要:static void Main(string[] args) { Func add = (i, j) => { return i + j; }; Action print = (msg) => { Console.Write... 阅读全文
posted @ 2016-01-20 17:14 小-黑 阅读(142) 评论(0) 推荐(0)
摘要:FCL中存在三类委托声明:Action, Func, Predicate class Program { static void Main(string[] args) { Func add = Add; Actio... 阅读全文
posted @ 2016-01-20 17:05 小-黑 阅读(76) 评论(0) 推荐(0)
摘要:因为值类型的变量的默认初始值是0,而引用类型的变量的默认初始值是null: public T Func() { T t = default(T); return t; } 阅读全文
posted @ 2016-01-20 16:42 小-黑 阅读(111) 评论(0) 推荐(0)
摘要:“约束”让泛型参数具有了更多的行为和属性: class SalaryComputer { public int Compare(T t1, T t2) where T :Salary { if (t1.BaseSalary > t2.Ba... 阅读全文
posted @ 2016-01-20 16:30 小-黑 阅读(71) 评论(0) 推荐(0)
摘要:T指定不同的数据类型,MyList也变成不同的数据类型,在不同数据之间不共享静态成员,但在相同数据类型中共享数据静态成员;非泛型类型中的泛型方法并不会在运行时的本地代码中生产不同的类型。 class Program { static void Main(string[] a... 阅读全文
posted @ 2016-01-20 15:36 小-黑 阅读(123) 评论(0) 推荐(0)
摘要:泛型:可重用性高、类型安全、高效率 阅读全文
posted @ 2016-01-20 15:19 小-黑 阅读(68) 评论(0) 推荐(0)
摘要:class MyList : IEnumerable { List list = new List() { new Person() { Name = "Mike", Age = 25 }, new Person(... 阅读全文
posted @ 2016-01-20 15:08 小-黑 阅读(90) 评论(0) 推荐(0)