佐々木屋

技術的なことから趣味まで色々書きます

デリゲート(匿名メソッドとラムダ式の利用)

前回、デリゲートの基本的な使い方であるメソッドを型のような形で保持させ使う話をしました。
デリゲートは他にも匿名メソッドやラムダ式でそのまま使う事が可能です。

匿名メソッドを利用

//デリゲートの宣言
delegate void ShowWriter(string value);

//匿名メソッドによるデリゲートの作成
ShowWriter dlgate = delegate (string x) { Console.WriteLine(x); };
dlgate("fuga");
fuga


ラムダ式を利用

//デリゲートの宣言
delegate void ShowWriter(string value);

//ラムダ式によるデリゲートの作成
ShowWriter dlgate = (string x) => Console.WriteLine(x);
dlgate("fuga");
'デリゲートの宣言
Delegate Sub ShowWriter(ByVal value As String)

'ラムダ式によるデリゲートの作成
Dim dlgate As ShowWriter = Sub(x As String) Console.WriteLine(x)
dlgate("fuga")
fuga