古いソースコードによっては、ラムダ式で書かれておらず、まだC#2.0のデリゲートや匿名メソッドで記述されている事があるので、覚書の意味も込めて記載
samle
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
// デリゲートの宣言(C#2.0)
delegate void SampleDeligate(string value);
class Sample
{
public void Hello(string value)
{
Console.WriteLine(value);
}
}
class Program
{
static void Main(string[] args)
{
Sample sample = new Sample();
Console.WriteLine("挨拶文を入力して下さい。");
string hello = Console.ReadLine();
// C#2.0でのデリゲート利用
SampleDeligate sampleDeligate = new SampleDeligate(sample.Hello);
sampleDeligate(hello);
// 匿名メソッド
SampleDeligate sampleDeligate2 = delegate(string value)
{
Console.WriteLine(value);
};
sampleDeligate2(hello);
}
}
}
匿名メソッドを利用することで、デリゲートで使用していたHelloメソッドが不要になる!