Delegate的含义:
代表类似于C和C++中的函数指针,用于封装某个方法的调用过程。在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); } |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8069778/viewspace-973615/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8069778/viewspace-973615/