摘要: 一, 事件及事件驱动1,事件的概念软件事件是对现实生活中的事件的模拟。从面向对象的角度来说,事件是由对象发出的消息,它是一个信号,通知其他对象有事情发生。例如,单击窗体上的某个控件时,控件可能会激发一个Click事件。激发与相应事件的载体都是对象。激发事件的对象被称为“事件源”,对这个事件进行响应的对象称为“响应者” 响应者必须提供一个“事件响应(或处理)方法”。2,事件与多路委托 事件的主要特点是一对多的关联,即一个事件源可以有多个响应者。在具体实现上,.NET Framework的事件处理机制是基于多路委托实现的。先看一个使用多路委托实现事件的实例项目代码如下:public delegat 阅读全文
posted @ 2011-09-28 18:22 一斤半 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 对象序列化主要解决的是对象状态的保存问题。这里所说的“对象状态”,其实就是指某一时刻对象拥有的各个字段值得集合。由此可见,对象状态是与时间关联在一起,在不同的时刻,对象可能处于不同的状态。1>对象序列化的概念 对象“生活”在内存的空间中,因此,程序一关闭,这些对象也会都被CLR的垃圾回收机制销毁了。程序在第二次运行的时候,“又是一个新的”; 如果想再第二次运行的时候“重现”第一次运行时的“场景”,即恢复第一次运行时各个对象的状态,应用程序就必须采用某种方式将对象各个字段保存到磁盘文件中,这样在需要时就可以从磁盘中读取出来并重新设置各个字段值。 这种通过将内存中的对象保存到流中,并在需要的 阅读全文
posted @ 2011-09-27 13:57 一斤半 阅读(228) 评论(0) 推荐(0) 编辑
摘要: “分部类”(Partial Class)在C#2.0引入,“分布方法(Partial Method)”在C#3.0引入,这两个语法特性都有相同的特性:将类或方法的代码分散在多个地方。 1>为什么要引入分部类: 当项目中有一部分有系统自动生成的时候,可以使用分部类特性将这部分代码放到一个单独的文件上,从而将机器自动生成的代码和程序员写的代码区分开了,这样有助于提升代码 的可读性。 在实际的开发中,往往某个类由不同的人活着团队进行维护,也可以应用到分部类的来实现源代码的隔离。 另外,分布特性还可以用于结构(Struct)和接口(interface)。 2>分布方法的特性与应用 下面的代 阅读全文
posted @ 2011-09-27 13:14 一斤半 阅读(915) 评论(2) 推荐(0) 编辑
摘要: .NET中的null代表一个引用类型的变量不引用任何的对象,但是在某些场合,值类型的变量也可能是“空”的。比如数据库里面,表中的字段常常会出现NULL值。数据库的字段的NULL值会带来一点小麻烦,例如,假设我们使用ADO.NET从数据库中提取记录填充到某个DataTable对象里,数据库表中包含一个int类型的字段(假设其名为IntColumn),其值可能为NULL,现在我们需要依据取回的这一字段的值来设置一个数据对象相应属性值(假设此数据对象类型为MyDataClass,它有一个类型为int,名为IntProperty对应属性),由于int类型不允许为null则必须这样写代码:1 DataT 阅读全文
posted @ 2011-09-26 21:42 一斤半 阅读(766) 评论(0) 推荐(1) 编辑
摘要: String变量的最大出人意料的地方可能就是:它的内容是只读的!不明真相的读者可能会争辩:不对啊,我明明可以修改String变量的值!请看一下代码,难道有错吗?1 String s1="a";2 s1="abcd";上述代码确实没有错,代码执行后,s1的值的确为"abcd"。这里的关键是:s1的第二个值"abcd"不是在第一个值"a"的基础上"扩展"而来的,实际上"abcd"和"a"是两个完全独立的String对象!让我详细介绍代码背后 阅读全文
posted @ 2011-09-24 23:30 一斤半 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 引用类型变量的相互赋值 代码:1 Myclass obj1=new Myclass(){Valie=100};2 Mycalss obj2=null;3 obj2=obj1;//引用类型变量的赋值4 Console。WriteLine("obj1.Vlaue="+obj2.Value);5 //输出:obj2.Value=100事实上两个引用类型的相互赋值意味着赋值后两个引用变量所占有的内存单元其内容是相同的。讲的详细一些:第一句创建Myclass对象以后,此Myclass对象所占用内存区域的首地址("假设为“1234 5678")被放入到变量obj1自 阅读全文
posted @ 2011-09-24 23:13 一斤半 阅读(1246) 评论(0) 推荐(0) 编辑
摘要: .NET概述: 1).NET Framework:这是微软推出的新一代软件开发与运行平台,为其他所有的》NET技术产品提供坚实的基础,从应用程序开发的角度看,.NET Framework是.NET技术的载体,没有这一个载体.NET技术仅具有理论上的意义。 2)一组根据.NET Framework特性改造过的编程语言和开发工具。 .NET编程语言包过改进的visual Basic(改称为visual Basic.NET),还有新设计的C#,以及到.NET 4.0才加入的新成员F#,原有的C++也有经过了大规模的革新,以提供开发托管.NET应用程序的新功能。传统的各种编程语言有许许多多都已... 阅读全文
posted @ 2011-09-24 22:22 一斤半 阅读(999) 评论(3) 推荐(0) 编辑