正 文

Delegate声明的定义使用


www.7dspace.com  更新日期:2005-12-3 6:07:30  七度空间


注意这两个类执行之间类似的方法。这些方法具有不同的名称,但它们的标记和实体都相同。你可以使用一个delegate来将这两个方法结合在一起,即通过定义一个从这两个方法的共同特性中抽象出新的数据类型。也就是它们都将一个简单的字符作为一个变量并返回void。C#中的delegate关键词使得一下语句成为可能:

public delegate void example(String passedString);

例如,使用这一新的数据类型声明,我们可以通过一个通用的抽象来调用这两个方法。下面的C#控制台程序利用了我们的delegate范例来调用这两个类的方法:

public class TestExampleDelegate {

public delegate void example(String passedString);

public static void Main(string[] args)  {

example[] items = new example[2];

items[0] = new example(new DelegateClass1().exampleMethod1);

items[1] = new example(new DelegateClass2().exampleMethod2);

for(int i = 0; i < items.Length; i++) {

items[i]("Builder.com Rules!");

} } }

以上代码建立了一个数组的范例对象,并使用这些类中的方法实例化这些对象。由于忽略了括号,范例对象被一个调用方法处理。代码的执行结果显示了文本中(两次)。

(注意:Delegates不属于C#的细节;他们是.NET Framework的标准部分,所以也你可以使用其它的语言,比如VB.NET或者J#。)

2页,页码:[1] [2] 

上一篇:.NET 用户控件
下一篇:学会使用SAX
作者:  来源:Builder.com ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐