引言:
C#与Java的比较(转二)
5. 指代(Delegate)
指代这个玩意很特别,它有点象指针,但又不完全是,不过大家还是可以把它理解为一种类型安全的、面向对象的指针。
摘要:
在一个namespace中,我们也可以用一个别名指代现有的namespace或是一些其他类型数据。
别名的使用格式如下:
using 别名 = 一个已经存在的类型;
例如:using soholife = system;
下面我们通过几个例子来加深一下理解:
namespace n1.n2
{
class a {}
}
namespace n3......
摘要:
<展现 c#> 第一章 c#简介(rainbow 翻译)
出处:http://www.informit.com/matter/ser0000001/chapter1/ch01.shtml
正文:
展现 c#
第一章 c# 简介
欢迎您加入c#的世界! 这一章将把您引进c#的天地,并回答一些相关的问题,如:您为什么要使用c#,c++和c#的主要有什么不同......
C#与Java的比较(二)
c#与java的比较(转二)
5. 指代(delegate)
指代这个玩意很特别,它有点象指针,但又不完全是,不过大家还是可以把它理解为一种类型安全的.面向对象的指针.(什么是类型安全与面向对象就不用讲了吧?)顺便提一句,有很多书上把delegate翻译成代理,我觉得这样翻不够确切,翻译成“指代”更恰当些,道理上吻合,并且还符合它的本来意思——微软本来就是用delegate来“取代指针”,所以叫“指代”,呵呵.
说起指代,也许至今sun还会对它愤愤不已,为什么呢?因为在sun的标准java中是没有这个东西的,它是微软99年发布的msvj++6添加的“新特性”.为此,两家公司吵得不亦乐乎,并且还专门在网上写了大量文章互相攻击,有兴趣的朋友可以去看看(只有英文版).
http://www.javasoft.com/docs/white/delegates.html
http://msdn.microsoft.com/visualj/technical/articles/delegates/truth.asp
话归正传,指代有什么特点呢?一个明显的特点就是它具有了指针的行为,就好象从java又倒回到了c++.在c#中,指代完成的功能大概与c++里面的指针,以及java中的接口相当.但是,指代比起c++的“正宗指针”来又要高明一些,因为它可以同时拥有多个方法,相当于c++里面的指针能同时指向多个函数,并且是类型安全的,这一点体现了它的“对象”特性;而比起java的接口来,指代高明的地方在于它能可以不经过内部类就调用函数,或者用少量代码就能调用多种函数,这一点体现了它的“指针”特性.呵呵,很有“波粒二象性”的味道吧?指代最重要的应用在于对于事件的处理,下一节我们将重点介绍.
6.事件(event)
c#对事件是直接支持的(这个特点也是msvj所具有的)....
下一页 摘要:
源码推荐:使用c#编写des加密程序的framework
batman
还是我的老观点,对于新东西我们要不断练习才能够掌握它。所以
我就不写些抽象的概念了,打算以后不定期给出一些实际的代码,呵呵
在微软的帮助中,喜欢把它带的例子称为它的新技术的framework,我在
实际编程中确实感觉如此,我们往往是根据这些实例代码来编写自己的
实际应用的,所以我也用了framework这......