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

首頁 > 學院 > 開發設計 > 正文

初識C#委托及委托鏈

2019-11-17 02:31:23
字體:
來源:轉載
供稿:網友

初識C#委托及委托鏈

委托是c#很重要的特性。代碼如下:

 class PRogram    {       public  delegate void DelegateTest();        static void Main(string[] args)        {            DelegateTest dtstatic = new DelegateTest(Program.method1);//實例化,靜態方法,不用new            DelegateTest dtinstance = new DelegateTest(new Program().method2);//實例方法,需要new             DelegateTest delegatechain = null;                         //定義為null 的委托鏈            delegatechain += dtinstance;//用 “+”添加委托實例            delegatechain += dtstatic;//                       delegatechain();            Console.Read();       }        private static void method1()        {            Console.WriteLine("靜態方法輸出");        }        private void method2()        {            Console.WriteLine("實例方法輸出");        }    }

運行結果如下:

從結果可以看出委托鏈的執行順序為委托實例的添加順序;

同理,也可用“-”移除委托鏈中的委托實例:

  class Program    {       public  delegate void DelegateTest();        static void Main(string[] args)        {            DelegateTest dtstatic = new DelegateTest(Program.method1);//實例化,靜態方法,不用new            DelegateTest dtinstance = new DelegateTest(new Program().method2);//實例方法,需要new             DelegateTest delegatechain = null;                         //定義為null 的委托鏈            delegatechain += dtinstance;//用 “+”添加委托實例            delegatechain += dtstatic;            delegatechain -= dtstatic;//用“-”移除委托實例                       delegatechain();            Console.Read();       }        private static void method1()        {            Console.WriteLine("靜態方法輸出");        }        private void method2()        {            Console.WriteLine("實例方法輸出");        }

運行結果如下:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 娱乐| 禄丰县| 临湘市| 永清县| 磴口县| 永清县| 堆龙德庆县| 高陵县| 云霄县| 濉溪县| 焉耆| 新闻| 巴青县| 沁阳市| 瓮安县| 武邑县| 彰化市| 行唐县| 盘锦市| 鸡东县| 平定县| 运城市| 葵青区| 原平市| 墨脱县| 新邵县| 双江| 佛坪县| 南部县| 如皋市| 南郑县| 盘锦市| 鹤岗市| 遂溪县| 大邑县| 景德镇市| 宁乡县| 伊春市| 通海县| 长沙县|