ITPub博客

首页 > 应用开发 > IT综合 > C#代表

C#代表

原创 IT综合 作者:ctcui 时间:2007-09-28 23:20:09 0 删除 编辑

Delegate的含义

代表类似于CC++中的函数指针,用于封装某个方法的调用过程。在C#中代表是完全面向对象的,它所封装的方法必须和某个类或对象相关联。

Delegate的使用方法

代表使用一般分为三步:定义、实例化和调用。

(1) 定义: 通过关键字delegate定义.同时还要与所封装的方法具有相同的返回值和参数.

例如:

public class DelegateSample

{

public void SendMsg(string message)

{

Console.Write("Send;");

Console.WriteLine(message);

}

}

(2) 实例化: new关键字实例化,同时还要指定所封装的方法.

//实例化类

DelegateSample ds = new DelegateSample();

//实例化代理

SendMsgDelegate smd = new SendMsgDelegate(ds.SendMsg);

(3) 调用: 代表的调用和方法完全一样.

例如: smd("这是一个测试代表程序");

示例代码

Code

using System;

namespace DelegateSample

{

public class Program

{

public static void Main(string[] args)

{

//实例化类

DelegateSample ds = new DelegateSample();

//()实例化代表,同时指定所封装的方法SendMsg

SendMsgDelegate smd = new SendMsgDelegate(ds.SendMsg);

//()调用

smd("这是一个代表测试程序");

}

}

///

///

///

public class DelegateSample

{

///

/// 类方法

///

/// 字符串类型参数

public void SendMsg(string message)

{

Console.Write("Send;");

Console.WriteLine(message);

}

}

//()定义代表,与类DelegateSample的方法SendMsg具有相同的参数和返回值

delegate void SendMsgDelegate(string message);

}

[@more@]C#代表

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8069778/viewspace-973615/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-03

  • 博文量
    5
  • 访问量
    105876