ITメモ
Make SiteMap C#




【C#】イベントに対する処理を行える「delegate(デリゲート)」









「delegate(デリゲート)」とは


「delegate(デリゲート)」は、
他のクラスのメソッドを参照するオブジェクトで、イベントに対しての処理などで利用される。
GUI上でのボタン操作などが発生した場合に、その処理を関連付けるときに使われるらしい。

デリゲードで宣言した引数と同じ形態の関数などを指定してインスタン化すると、
デリゲードにオブジェクトの引数に値を入れて実行すると、
インスタン化の時にしていした関数に引数が与えられて、実行されるらしい。


Back



「delegate(デリゲート)」の使い方


「delegate(デリゲート)」の書式


delegate 戻り値の型 デリゲート名(引数のリスト);
delegate void DelegateOperation(int a, int b);



「delegate(デリゲート)」の実行スクリプト

delegate void DelegateOperation(int a, int b);
class Sample1{
public void Sub(int a, int b){
Console.WriteLine("Sub : {0} - {1} = {2}", a, b, a-b);
}
}


class SampleExe{
static void Add(int a, int b){
Console.WriteLine("Add : {0} + {1} = {2}", a, b, a+b);
}

static void Main(String[] args){
Sample1 Sam1 = new Sample1();

DelegateOperation Do1 = new DelegateOperation(Add);
DelegateOperation Do2 = new DelegateOperation(Sample1.Sub);

Do1(2, 1);
Do2(2, 1);
}
}


出力結果
Add : 2 + 1 = 3
Sub : 2 - 1 = 1



Back