程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 說一下C#中代表

說一下C#中代表

編輯:C#入門知識

代表(delegate):

 它是C#語言裡面的函數指針,代表可以指向某一個函數,在運行的時候調用這個函數的實現。下面來看看它的實現步驟:

  1. 聲明一個delegate對象。
  2. 實現和delegate具有相同參數和返回值的函數實現(可以是靜態和非靜態的)。
  3. 產生一個delegate對象的時候,把你剛剛實現的函數作為參數傳給他的構造函數。

看下面的例子:

    

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");

        }
    }
}

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved