代表(delegate):
它是C#語言裡面的函數指針,代表可以指向某一個函數,在運行的時候調用這個函數的實現。下面來看看它的實現步驟:
看下面的例子:
using System;
using System.Collections.Generic;
using System.Text;
namespace @delegate
{
public delegate void Mydelegate(string mydelegate); //聲明一個我的代表(第一步)
class Program
{ //實現一個與代表具有相同參數和返回值的函數(第二步)
public void HelloDelegate(string mydelegate)
{
Console.WriteLine(mydelegate);
}
//實現一個與代表具有相同參數和返回值的靜態函數(第二步);注意與上者的區別
public static void HelloStasticDelegate(string mydelegate)
{
Console.WriteLine(mydelegate);
Console.Read();
}
static void Main(string[] args) //第三步
{ //非靜態成員方法的調用
Program i = new Program();
Mydelegate d = new Mydelegate(i.HelloDelegate); //產生代表d,指向的是函數HelloDegegate
d("Hello delegate"); //調用
//靜態成員方法的調用
Mydelegate dd = new Mydelegate(Program.HelloStasticDelegate);
dd("Hello static delegate");
}
}
}