2014年8月27日

摘要: 分析问题 委托的功能和其名字非常类似,在设计中其思想在于把工作委派给其他特定的类型或者组件。委托的使用者可以理解为工作的分派者,在通常情况下使用者清楚地知道哪些工作需要执行、执行的结果又是什么,但是他却不会亲自地去做这些工作,而是恰当地把这些工作分派出去。 在本节中,笔者将举一个日志读写的例子,... 阅读全文
posted @ 2014-08-27 11:15 wangjinpeng_study 阅读(637) 评论(0) 推荐(0)

2014年8月26日

摘要: 分析问题 委托的方法可以是无返回的方法,也可以是有返回值的方法。回顾一下委托的使用: Meth a=new Meth(Method1);a+=new Meth(Method2);a+=new Meth(Method3);int returnVal=a(); 当使用类似的代码时,委托链表中各个方... 阅读全文
posted @ 2014-08-26 11:51 wangjinpeng_study 阅读(474) 评论(0) 推荐(0)
摘要: 分析问题 在前文中已经介绍了链式委托的基本特性是一个以委托组成的链表,而当委托链上的任何一个委托方法被调用时,其后面的所有委托方法将会被依次顺序调用。那读者可能会产生这样的疑问,委托链上的原始顺序是如何形成的呢?回顾一下之前的代码,我们是如何生成一个链式委托的: //申明一个... 阅读全文
posted @ 2014-08-26 11:16 wangjinpeng_study 阅读(626) 评论(0) 推荐(0)
摘要: 分析问题 在前文中,笔者已经详细地介绍了委托的基本概念。而所谓的链式委托,即是一个由委托组成的链表。所有的自定义委托都直接继承自System.MulticastDelegate类型。这个类型即是为链式委托而设计的。所以说,所有的自定义委托都天生地具备了成为一个链式委托的能力。当当个以上的委托被链接... 阅读全文
posted @ 2014-08-26 10:19 wangjinpeng_study 阅读(502) 评论(0) 推荐(0)

2014年8月25日

摘要: 分析问题 在开始分析委托内部构造之前,先来回顾一下最基本的概念,在C#中,静态方法和实例方法分别指什么,两者有什么区别。和其他大部分面向对象的高级语言相同,在C#中静态方法由关键字static来定义,静态方法可以通过类名来访问而不需要任何实例对象,相应的,在静态方法中不能访问类型中任何非静态成员。... 阅读全文
posted @ 2014-08-25 17:30 wangjinpeng_study 阅读(1686) 评论(0) 推荐(0)
摘要: 分析问题 委托这一概念对于有过C++经验的程序员来说并不陌生,C++中的函数指针和委托确实非常相似,许多程序员也喜欢把.NET中的委托称呼为安全的函数指针,无论这一说法是否正确,但委托确实实现了和函数指针非常类似的功能,那就是提供了程序回调指定方法的机制。 在委托的内部,包含了一个指向某个方法的... 阅读全文
posted @ 2014-08-25 16:31 wangjinpeng_study 阅读(139) 评论(0) 推荐(0)
摘要: 分析问题 所谓的方法重入,是一个有关多线程编程的概念。程序中多个线程同时运行时,就可能发生同一个方法被多个线程同时调用的情况。当这个方法中存在一些非线程安全的代码时,方法重入就会导致数据不一致的情况,这是非常严重的Bug。 在前文中,笔者已经简要介绍了.NET的内建定时器类型,它们是: 1、S... 阅读全文
posted @ 2014-08-25 15:33 wangjinpeng_study 阅读(207) 评论(0) 推荐(0)
摘要: 分析问题 在.NET内建类型中,一共为程序员提供了3种定时器: 1、System.Windows.Forms.Timer类型。 2、System.Threading.Timer类型。 3、System.Timers.Timer类型。 概况来说,这三种类型都实现了定时的功能。程序员通常需要做... 阅读全文
posted @ 2014-08-25 14:32 wangjinpeng_study 阅读(291) 评论(0) 推荐(0)

2014年8月19日

摘要: 分析问题 FileSystemWatcher类型定义在System.IO命名空间下,它的功能是监控某个文件夹下特定文件系统的变化。这样的变化可以包括创建、文件修改、重命名、删除等。程序员可以通过设置一个NotifyFilters枚举类型的成员来订阅感兴趣的信息。下表列出了NotifyFilters... 阅读全文
posted @ 2014-08-19 19:44 wangjinpeng_study 阅读(1981) 评论(0) 推荐(0)
摘要: 分析问题 1、FileInfo类型。 FielInfo类型提供了查看状态、创建、复制、删除、移动和打开文件的实例方法,类型的使用方法非常简单,但功能却十分强大。和File类型的区别在于: (1)FileInfo可以针对某个文件生成具体的实例,而File是静态类。 (2)FileInfo致力于... 阅读全文
posted @ 2014-08-19 18:58 wangjinpeng_study 阅读(233) 评论(0) 推荐(0)

导航