2012年8月27日

C#基础系列--C#中委托与事件(三)

摘要: 实例:class Program { static void Main(string[] args) { DelegateEvent de = new DelegateEvent(); de.Do(); Console.Read(); }}class DelegateEvent { public void Do() { FangDiChanPublisher fdc = new FangDiChanPublisher(); BuyerSubscriber buyer = new BuyerSubscriber(); buyer.BuyerDemand = "80平方米,100万元RM 阅读全文

posted @ 2012-08-27 16:28 bicabo 阅读(696) 评论(0) 推荐(0) 编辑

C#基础系列--C#中委托与事件(二)

摘要: 在C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的是函数指针,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用。简单的讲委托(delegate)是一种类型安全的函数指针,首先,看下面的示例程序,在C++中使用函数指针。首先,存在两个方法:分别用于求两个数的最大值和最小值。int Max(int x,int y){return x>y?x:y;}int Min(int x,int y){return x}上面两个函数的特点是:函数的返回值类型及参数列表都一样。那么,我们可以使用函数指针来指代这两个函数,并且可以将具体的指代过程交给用户,这样 阅读全文

posted @ 2012-08-27 16:21 bicabo 阅读(10939) 评论(4) 推荐(2) 编辑

C#基础系列--C#中委托与事件(一)

摘要: 我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立某种关联。定义和使用委托分三个步骤:1、委托声明。2、委托实例化。3、委托调用。一、定义委托定义委托的语法如下:<访问修饰符> dele 阅读全文

posted @ 2012-08-27 16:16 bicabo 阅读(1024) 评论(0) 推荐(0) 编辑

C#基础系列--C#中类和结构的区别

摘要: 类和结构的区别 1、值类型和引用类型 结构:结构是值类型; 值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int对应System.int32结构,string对应system.string结构 ,通过使用结构可以创建更多的值类型。 类:类是引用类型; 引用类型在堆上分配地址。 堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑。 赋值操作,因为结构是值类型,所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用。 说明: u 虽然结构与类的类型不... 阅读全文

posted @ 2012-08-27 16:12 bicabo 阅读(246) 评论(0) 推荐(0) 编辑

C#基础系列--C#中抽象类和接口的区别

摘要: 大家都容易把这两者搞混,我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料. 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中, 且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法... 阅读全文

posted @ 2012-08-27 16:06 bicabo 阅读(280) 评论(0) 推荐(0) 编辑

导航