本帖最后由 小色猫 于 2011-11-21 18:12 编辑  
 
委托就是指向函数的变量,函数指针 
delegate void ProcessIntDelegate(int i);//ProcessIntDelegate是声明一种类型 
 class Program 
    { 
        static void Main(string[] args) 
        { 
                    ProcessIntDelegate pid = new ProcessIntDelegate(PrintIt);//把委托pid指向PrintIt这个函数 ★被指向的函数的参数和返回值,必须和委托声明的一样   (也就是最上面:int  void) 
            pid(30);//把pid当成指向的函数那样用 
 
            pid = new ProcessIntDelegate(SayHello);//委托指向变量语法就是pid=new 委托的类型名(指向的函数名) 
                     pid(30); 
 
                 Console.ReadKey(); 
        } 
 
 static void PrintIt(int i) 
        { 
            Console.WriteLine(i); 
        } 
 
        static void SayHello(int i) 
        { 
            Console.WriteLine("你好,我是{0}",i); 
        } 
 
我下面可以写一百个方法,而在Main函数调用里,我的pid想用哪个方法就用那个方法,而不是像以前一样写死某某函数,所以比较灵活 |