成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#多路廣播簡單描述

開發 后端
本文讓你清楚的看到C#多路廣播是如何一次代理多個方法的。當然你也可以刪除掉那些你不想要的用"-="操作符就可以了。

C#語言有很多值得學習的地方,這里我們主要介紹C#多路廣播,包括介紹多路代理MSDN上翻譯成C#多路廣播等方面。

一個代理同時代理幾個方法。就是我們前面說到的那樣,你去建造房子,現在要不僅僅是建造住宅,還的去建造花園等等其它建筑物。可是它們都是在建造房子,傳遞的參數也相同返回值的類型也相同都是房屋。那么我們為什么不找一個代理人來完成這樣的任務呢?把這些事物交由他一個人來完成不是可以節省我們很多的時間和金錢。是的我們可以那樣做System。MulticastDelegate 實際上在.net framework中你還可以找到這個類,多路代理MSDN上翻譯成C#多路廣播。事實上它還重載了操作符+=。其實C#多路廣播和單路代理在使用方法上區別不大。你可以看下面的例子。

  1. using System;  
  2. namespace Multi_castDelegate  
  3. {  
  4. /// <summary> 
  5. /// Summary description for Class1.  
  6. /// </summary> 
  7. class MyClassDelegate  
  8. {  
  9. /// <summary> 
  10. /// The main entry point for the application.  
  11. /// </summary> 
  12. public delegate string IntDelegate(string s);  
  13. }  
  14. }  
  15. using System;  
  16. namespace Multi_castDelegate  
  17. {  
  18. /// <summary> 
  19. /// Summary description for MyImplementingClass.  
  20. /// </summary> 
  21. public class MyClass  
  22. {  
  23. public MyClass()  
  24. {  
  25. }  
  26. public static string WriteString(string s)  
  27. {  
  28. Console.WriteLine("Writing string");  
  29. return "null";  
  30. }  
  31. public static string logString(string s)  
  32. {  
  33. Console.WriteLine("loging string");  
  34. return "null";  
  35. }  
  36. public static string TransmitString(string s)  
  37. {  
  38. Console.WriteLine("Transmitting string");  
  39. return "null";  
  40. }  
  41. }  
  42. }  
  43.  
  44. The Main class:  
  45. using System;  
  46. using System.Threading;  
  47. namespace Multi_castDelegate  
  48. {  
  49. /// <summary> 
  50. /// Summary description for Test.  
  51. /// </summary> 
  52. public class Test  
  53. {  
  54. public static void Main()  
  55. {  
  56. MyClassDelegate.StringDelegate  
  57. Writer,Logger,Transmitter;  
  58. MyClassDelegate.StringDelegate  
  59. myDelegate;  
  60. Writer=new 
  61. MyClassDelegate.StringDelegate(MyClass.WriteString);  
  62. /// calling Writer  
  63. Writer("hello i am Writer just acting like Single cast");  
  64. Logger=new MyClassDelegate.StringDelegate(MyClass.logString);  
  65. ///calling Logger  
  66. Logger("hello i am Logger just acting like Single-cast");  
  67. Transmitter=new MyClassDelegate.StringDelegate(MyClass.TransmitString);  
  68. ///calling Transmitter  
  69. Transmitter("hello i am Transmitter just acting like Single-cast");  
  70. ///here mydelegate used the Combine method of System.MulticastDelegate  
  71. ///and the delegates combine  
  72. myDelegate=(MyClassDelegate.StringDelegate)System.Delegate.
    Combine(Writer,Logger);  
  73. myDelegate("used Combine");  
  74. ///here Transmitter is also added using the overloaded form of Combine  
  75. myDelegate+=Transmitter;  
  76. myDelegate("Using Overloaded Form");  
  77. ///now using the Remove method  
  78. myDelegate=(MyClassDelegate.StringDelegate)System.Delegate.
    Remove(myDelegate,Writer);  
  79. myDelegate("Without Writer");  
  80. ///overloaded Remove  
  81. myDelegate-=Transmitter;  
  82. myDelegate("Without Transmitter");  
  83. System.Threading.Thread.Sleep(2300);   
  84. }  
  85. }  

面的例子重點是看那兩個已經重載的操作符。"-="和"+="。通過上面的例子,你可以清楚的看到C#多路廣播是如何一次代理多個方法的。當然你也可以刪除掉那些你不想要的用"-="操作符就可以了。

【編輯推薦】

  1. C# this關鍵字詳解
  2. C#調用析構方法詳解
  3. C#釋放托管資源簡單描述
  4. C#單路代理簡單分析
  5. C#文法產生式概述
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-31 18:32:01

C# ListBoxE

2009-08-19 10:09:21

C#和C++

2009-08-27 10:01:52

C#自動屬性

2009-09-01 17:08:35

C# Color枚舉

2009-09-03 16:55:58

C#引用類型

2009-09-07 15:31:49

C#支持事件

2009-08-20 16:45:03

C#哈希值

2009-09-01 18:25:32

C#結構實例

2009-09-07 14:33:02

C# switch語句

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲過程

2009-08-28 09:30:48

C#命名屬性

2009-09-16 09:01:40

C#多維數組

2009-08-31 17:53:20

C#實現索引器

2009-09-17 16:28:27

C#參差數組

2009-09-02 10:39:00

C#釋放托管資源

2009-09-03 10:19:12

C#表單控件

2009-09-02 17:38:16

C#泛型支持

2009-08-26 14:54:23

C# new和over

2009-08-07 10:12:09

C#二維數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区性色 | 一区二区视频在线观看 | 欧美日韩国产在线观看 | 熟女毛片 | 欧美国产日韩一区二区三区 | 人人九九精 | 成人午夜影院 | 国产91久久久久蜜臀青青天草二 | 久久久久久久久久久福利观看 | 久久综合一区二区三区 | 一区二区三区欧美在线 | 欧美激情 亚洲 | 精品亚洲一区二区三区 | 天天干.com | 欧美激情精品久久久久 | 中文字幕av网 | 国产精品九九九 | 99久久精品免费视频 | 久久se精品一区精品二区 | 精品视频久久久久久 | 亚洲激情第一页 | 亚洲热在线视频 | 国产成人久久av免费高清密臂 | 99久久久久国产精品免费 | 国产www在线 | 国产激情偷乱视频一区二区三区 | 国产视频不卡一区 | 精品国产一区二区三区久久久蜜月 | 久久夜色精品国产 | 欧美一区二区免费电影 | 欧美国产日韩一区 | 操人网站 | 亚洲免费视频在线观看 | chinese中国真实乱对白 | 日操夜操 | 一级大黄色片 | 午夜影院在线观看 | 日韩午夜 | 日本成人综合 | 国产精品一区二区av | 亚洲v日韩v综合v精品v |