Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. // 名前空間の登録
  2. using System; // 共通データ型と基本クラス(System名前空間)
  3.  
  4. // デリゲートの定義.
  5. delegate void TestDelegate(); // 引数と戻り値がvoidな関数を持つデリゲートTestDelegate.
  6.  
  7. // メインクラス
  8. class MainClass // MainClassクラスの定義
  9. {
  10.  
  11. // メインメソッド
  12. static void Main() // Mainメソッドの定義
  13. {
  14.  
  15. // デリゲートの生成.
  16. TestDelegate test1 = new TestDelegate(Test1); // newでTestDelegateのtest1を生成.(コンストラクタにはTest1を渡す.)
  17. TestDelegate test2 = new TestDelegate(Test2); // newでTestDelegateのtest2を生成.(コンストラクタにはTest2を渡す.)
  18.  
  19. // デリゲートの参照でコールバックメソッドが呼ばれる.
  20. test1(); // test1に"()"を付けるとコールバックメソッドのTest1が呼ばれる.
  21.  
  22. // 改行
  23. Console.WriteLine(); // Console.WriteLine()で改行.
  24.  
  25. // デリゲートの参照でコールバックメソッドが呼ばれる.
  26. test2(); // test2に"()"を付けるとコールバックメソッドのTest2が呼ばれる.
  27.  
  28. // 改行
  29. Console.WriteLine(); // Console.WriteLine()で改行.
  30.  
  31. // 3つ目のデリゲートの初期化.
  32. TestDelegate test3 = null; // TestDelegateのtest3をnullで初期化.
  33.  
  34. // デリゲートの結合.
  35. test3 = (TestDelegate)Delegate.Combine(test1, test2); // test1とtest2の中身を呼ぶTestDelegateのtest3.
  36.  
  37. // デリゲートの参照でコールバックメソッドが呼ばれる.
  38. test3(); // test3に"()"を付けるとコールバックメソッドのTest1とTest2が呼ばれる.
  39.  
  40. }
  41.  
  42. // "ABC"と出力するメソッドTest1.
  43. static void Test1()
  44. {
  45.  
  46. // "ABC"と出力.
  47. Console.WriteLine("ABC"); // Console.WriteLineで"ABC"を出力.
  48.  
  49. }
  50.  
  51. // "DEF"と出力するメソッドTest2.
  52. static void Test2()
  53. {
  54.  
  55. // "DEF"と出力.
  56. Console.WriteLine("DEF"); // Console.WriteLineで"DEF"を出力.
  57.  
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement