デリゲートの宣言方法はいくつかあります。以下に代表的な方法をいくつか紹介します。
-
シンプルなデリゲートの宣言:
delegate void MyDelegate(string message);
上記の例では、
MyDelegate
という名前のデリゲート型を宣言しています。このデリゲートは引数としてstring
型のmessage
を受け取り、戻り値はありません。 -
デリゲートを使用したメソッドの呼び出し:
void DisplayMessage(string message) { Console.WriteLine(message); } MyDelegate del = new MyDelegate(DisplayMessage); del("Hello, World!");
上記の例では、
DisplayMessage
というメソッドをデリゲートに代入し、デリゲートを介してメソッドを呼び出しています。 -
マルチキャストデリゲートの宣言と使用:
delegate void MyDelegate(string message); void DisplayMessage1(string message) { Console.WriteLine("DisplayMessage1: " + message); } void DisplayMessage2(string message) { Console.WriteLine("DisplayMessage2: " + message); } MyDelegate del = DisplayMessage1; del += DisplayMessage2; del("Hello, World!");
上記の例では、
MyDelegate
というデリゲート型を使用して複数のメソッドを呼び出すことができます。デリゲートに複数のメソッドを追加するには、+=
演算子を使用します。 -
ラムダ式を使用したデリゲートの宣言と使用:
MyDelegate del = message => Console.WriteLine(message); del("Hello, World!");
上記の例では、ラムダ式を使用してデリゲートを宣言し、メソッドの本体を簡潔に記述しています。
デリゲートはイベント処理や非同期プログラミングなど、さまざまな場面で活用されます。この投稿では基本的なデリゲートの宣言方法と使用例を紹介しましたが、さらに高度な使用方法や応用的なテクニックも存在します。