国产探花免费观看_亚洲丰满少妇自慰呻吟_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("實例方法輸出");        }

運行結果如下:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开鲁县| 彰武县| 乌兰县| 阿克苏市| 游戏| 巨鹿县| 新泰市| 富顺县| 中宁县| 涡阳县| 浠水县| 宁国市| 都安| 剑阁县| 罗平县| 监利县| 鄂伦春自治旗| 辉南县| 育儿| 皋兰县| 芦溪县| 广西| 庆云县| 姚安县| 依兰县| 灵宝市| 昭平县| 临洮县| 苏尼特右旗| 佛山市| 施秉县| 汉阴县| 蒲城县| 新竹县| 阳城县| 维西| 华安县| 包头市| 湟中县| 武宣县| 阿克陶县|