国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#委托把方法當成參數(實例講解)

2020-01-24 02:52:58
字體:
來源:轉載
供稿:網友

靜態方法代理:

復制代碼 代碼如下:

public delegate void DoGreeting(string name);

class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            //方法名當成參數傳給委托類型調用
            MarkGreeting("張三", GreetingEnglish);
            MarkGreeting("李四", GreetingChinese);
        }

        /// <summary>
        /// 委托(代理的方法)
        /// </summary>
        /// <param name="name"></param>
        /// <param name="markGreeting"></param>
        private static void MarkGreeting(string name, DoGreeting markGreeting)
        {
            markGreeting(name);
        }

        /// <summary>
        /// 用英文打招呼
        /// </summary>
        /// <param name="name"></param>
        private static void GreetingEnglish(string name)
        {
           Console.WriteLine(name+"hello!");
        }

        /// <summary>
        /// 用中文打招呼
        /// </summary>
        /// <param name="name"></param>
        private static void GreetingChinese(string name)
        {
            Console.WriteLine(name+"你好!");
        }
    }


實例方法代理:
復制代碼 代碼如下:

 public delegate void DoGreeting(string name);

    public class Greeting
    {
        /// <summary>
        /// 委托(代理的方法)
        /// </summary>
        /// <param name="name"></param>
        /// <param name="markGreeting"></param>
        public void MarkGreeting(string name, DoGreeting markGreeting)
        {
            markGreeting(name);
        }

        /// <summary>
        /// 用英文打招呼
        /// </summary>
        /// <param name="name"></param>
        public  void GreetingEnglish(string name)
        {
            Console.WriteLine(name + "hello!");
        }

        /// <summary>
        /// 用中文打招呼
        /// </summary>
        /// <param name="name"></param>
        public void GreetingChinese(string name)
        {
            Console.WriteLine(name + "你好!");
        }
    }

    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            Greeting greetingObj = new Greeting();

            greetingObj.MarkGreeting("張三", greetingObj.GreetingEnglish);
            greetingObj.MarkGreeting("李四", greetingObj.GreetingChinese);

        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 塔城市| 治县。| 翁源县| 洛宁县| 福清市| 离岛区| 石城县| 南木林县| 方城县| 兰西县| 海安县| 临武县| 衡南县| 始兴县| 海晏县| 常宁市| 萍乡市| 安龙县| 永年县| 扎兰屯市| 阳朔县| 和林格尔县| 安新县| 安福县| 龙泉市| 开原市| 建昌县| 民勤县| 鲁甸县| 信宜市| 资溪县| 西充县| 新余市| 西畴县| 文成县| 英山县| 孟州市| 溆浦县| 渑池县| 淮南市| 尚义县|