デリゲート
デリゲードで表したメソッドはint型、string型みたいに引数とかに入れる事ができる。
//クラスの外で定義
delegate void DoDeligate(string str);
class DelegateTest
{
static void Heppoko(string s)
{
//Heppokoの処理内容
Console.WriteLine(s);
}
static void StringCount(string s)
{
//StringCountの処理内容
int num = s.Length;
Console.WriteLine(num);
}
//プログラムが動いたとき一回だけこの中の処理が動く前提で例を書いている。
void start()
{
//Heppokoメソッドが使える
var v1 = new DoDeligate(Heppoko);
//これは
//DoDeligate del = method;
//とも書ける。
v1("へっぽこ太郎");
//DoDeligateメソッドが使える
var v2 = new DoDeligate(StringCount);
v2("へっぽこ太郎");
}
}
マルチキャストデリゲート
デリゲートはメソッドを1個だけじゃなくて複数受け取ることもできる。 上のHeppoko,StringCountメソッドがある前提で例を書くと
[Read More]