今天学习一下好久都不愿意碰的Delegate,虽然不是很明白,还是写了一个小例子(参考园子里的朋友们的),希望加深一下印象.
 朋友们说它类似于C++的函数指针,指向一个函数,运行的时候可以调用这个函数.
 步骤:
    1. 声明一个delegate对象。
    2. 实现和delegate具有相同参数和返回值的函数实现(可以是静态和非静态的)。
    3. 产生一个delegate对象的时候,把你刚刚实现的函数作为参数传给他的构造函数。
 代码如下:
 Default.aspx.cs中:
 public partial class _Default : System.Web.UI.Page 
 {
 //第一步,声明一个delegate对象
     public delegate void Mydelegate(string mydelegate);
     protected void Page_Load(object sender, EventArgs e)
     {
         //第三步 产生一个delegate对象的时候,把你刚刚实现的函数(方法)作为参数传给他的构造函数。
         Mydelegate hello = new Mydelegate(Hello);
         hello("hello");
         Mydelegate statichello = new Mydelegate(staticHello);
         statichello("beijing");
     }
 //第二步 实现和delegate具有相同参数和返回值的函数实现(非静态的)
 //这里的参数是mydelegate,返回值是void
    
     public void Hello(string mydelegate)
     {
         Response.Write(mydelegate);
     }
 //第二步 实现和delegate具有相同参数和返回值的函数实现(静态的)
 //这里的参数是mydelegate,返回值是void
     public static void staticHello(string mydelegate)
     {
         HttpContext.Current.Response.Write(mydelegate);
     }
 }
 输出结果:hellobeijing
 参考内容:http://www.cnblogs.com/cuihongyu3503319/archive/2007/04/29/732376.html
 
转载于:https://www.cnblogs.com/fanwenxuan/archive/2007/09/28/908675.html