代表、委譲、委託)とは、メソッドを参照するための型です。機能は、「ある処理を他のメソッドに丸投げするためのもの」です。言った方が分かりやすいかもしれません。複数のメソッドを同時に参照する事が出来ます。デリゲートの基本デリゲートを使用するためにはまず、デリゲート型を定義します。デリゲート型名(引数リスト);これによりデリゲートも1つの型として扱われます。クラスの派生クラスになります。デリゲートの定義時に指定した物と同じ戻り値と引数リストを持つメソッドを代入する事が出来ます。単純な例デリゲートで実行する処理を持つクラスを用意します。}}デリゲートを宣言して、デリゲートによりコンソールに表示するだけのプログラムです。func();}実行するとコンソールウィンドウに"hoge"という文字列が表示されます。演算子を用いることで、複数のメソッドを代入する事が出来ます。複数のメソッドを代入した状態で、デリゲート呼び出しを行うと、代入した全てのメソッドが呼び出されます。先ほどのクラスと似たクラスを用意して、テストプログラムを作ってみます。}}上記のクラスを追加して、先ほどのプログラムを変更してみます。func();}デリゲート変数'func'に2つのメソッドを登録しましたが、処理呼び出しは1か所しかありません。このプログラムを実行すると、コンソールに"hoge"という文字列が表示され、メッセージボックスが表示され、そこに「メッセージ」というメッセージが表示されます。これは、'func'というデリゲート変数にメソッドが2つ登録されているので、デリゲートを1度呼び出しただけで登録された2つのメソッドが実行されます。非同期呼び出しデリゲート呼び出しは非同期に行うことも出来ます。通常、メソッドを呼び出すとメソッド内の処理が完了するまで呼び出し元には戻ってきません。このような動作を「同期呼び出し」と呼びます。メソッドを呼び出した瞬間に呼び出し元に処理が戻ってくるような呼び出しのことです。このデリゲートの「非同期呼び出し」を行うときは、マルチキャストデリゲートは使用できませんのでご注意ください。引き続き、さきほどのクラスを使ってプログラムを変えて作ります。"てすと");}このプログラムを実行すると、デリゲートによりメッセージボックスが表示され、そこに「メッセージ」というメッセージが表示された状態で、コンソールウィンドウに"ここは非同期で即座に実行されます"という文字列が表示されます。「メッセージ」というメッセージボックスを閉じると、「こちらはデリゲートが終わったら実行されます」というメッセージボックスが表示されます(こちらはデリゲートの処理である最初のメッセージボックスが閉じてデリゲート処理が終了するまで実行されません)。するWindowsでは、「サービス」と呼ばれるプログラムが動いています。C言語などでは、時間関数などを駆使してコードの処理時間を計測します。コレクションは使えない?」などで登場した「ジェネリック」なクラスですが、下記のクラスがあります。カスタム(自作)のコレクションクラスを実装する方法を試してみます。タイマ処理は、「一定の周期(時間間隔)で処理を実行するもの」です。