Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取锁之后因为异常,致锁无法释放,所以需要在try{} catch(){}之后 ...
一 Delegate委托可以理解为一个方法签名。 可以将方法作为另外一个方法的参数带入其中进行运算。在C 中我们有三种方式去创建委托,分别如下: 二 Event事件,是一种封装过的委托。 它拥有以下三要素: .事件发行者 达到某些条件时激发事件的对象 .事件订阅者 订阅事件并对事件发生时进行处理的对象 .定义发行者和订阅者关系,一个发行者可能会有多个订阅者。 三 事件和委托的区别 .委托允许直接 ...
2013-05-21 11:29 6 15414 推荐指数:
Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取锁之后因为异常,致锁无法释放,所以需要在try{} catch(){}之后 ...
event是一种特殊签名格式的delegate,event的定义必须在类内,delegate可以脱离类的存在。 event的引发是通过调用委托实现的,而委托不仅仅用来实现事件的引发。 通过加入event关键字,在编译的时候编译器会自动针对事件生成一个私有的字段(与此事件相关 ...
event是一种特殊的delegate,定义它们的类里边,这二者是一样的,既可以采用 += 和-=的运算符号,也可以调用,但是在这个类之外,它们是不同的。 同为public类型,对于delegate,我们在定义它的类外,不仅可以采用 += 和-=的运算符号,还可随时调用;但是对于event,在类 ...
在本文中将从基础角度讲解HashTable、Dictionary的构造和通过程序进行插入读取对比。 一:HashTable 1.HashTable是一种散列表,他内部维护很多对Ke ...
C#中如何合理的释放非托管内存?在本文中我们将讲解使用IDisposable释放托管内存和非托管内存。 A.首先需要让类实现IDisposable接口,然后实现IDispose方法。 A.a核心Disponse(bool isDisponse) 1.此方法首先判断 ...
clr基本 CLR(Common Language Runtime)是一个可由多种编程语言使用的“运行时”。(例如:c#,c++/cli,vb,f#,ironpython,ironruby,il...) CLR的核心功能内存管理、程序集加载、安全性、异常处理、线程同步、泛型、尾调用 ...
代码原则 1.职责单一原则,封闭开发原则 2.枚举类型最好不要用 数字表示 3.代码要可配置,可扩展 初级1.抽象类,接口的区别抽象类需要被继承,不能实例化,子类必须实现其抽象方法,抽象方法没有方法体,是为了子类不要忘记写某个方法而出现的接口看成是抽象类的补充(子类实现基类中的所有 ...
一、引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4633-a434-fc4d09f4d23d )是这样的: 大家先不要去 ...