ふらっとVisual C#,C♯,C#(初心者用) Part105
■ このスレッドは過去ログ倉庫に格納されています
0381デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANデリゲート≒イベント
デリゲートとイベントは両者とも糖衣構文
使い方の違いがある。
イベントはイベントを定義したクラスからしか呼び出せないが、デリゲートにその制限はない
要するに、イベントもデリゲートもクラスを基本にした、それ専用に使いやすくしたもの
コールバック自体イベントと言えなくもないから、デリゲートを用いてイベントは実装できる
377はその意味。で、デリゲートの場合、デリゲート>匿名メソッド>ラムダ式というさらに
使いやすくした糖衣構文がある。
デリゲートの特徴はデリゲートはメソッドみたいなものだけど、メソッドと違って変数に代入出来ること。
これは、デリゲートの実態がクラスで出来ているからで、この代入出来ることを利用した
プログラミングが出来ることがデリゲートの特徴となる。
代入出来るということは、色々なデリゲート(メソッド)を置き換えることが出来るわけで、
デリゲートで呼び出されるメソッドの動作を変えられることが特徴
void Method_A(delegate B)
{
処理1
B()
処理3
}
の要に処理1処理2は共通でB()の部分のみ異なる処理の場合に
Method_Aの引数に渡すデリゲート変更すればソースとしての共通化が図れる
■ このスレッドは過去ログ倉庫に格納されています