デリゲート・・・基本~マルチキャストデリゲート

Contents

デリゲート

メソッドの処理内容はさておき、先にメソッドの引数型と戻り値型を定義して、後でそのメソッドの実体をセットして使用するのをデリゲートと言います。これにより、メソッド名を変数の様に扱い、そのメソッドを実行できます。

↑変数にメソッドを代入する事ができる様になります。

定義

[修飾子] delegate 戻り値の型 デリゲート名(引数の型 引数, …)

つまり、戻り値、引数が同じ型のメソッドがいくつかあった場合、変数を扱うかの如きに各メソッドを呼び出す事が可能となります。

引数部分は各メソッド同じ型となります。・・・A(1),B(2)

解釈

デリゲートの基本です。

 ex.1)delegate void TestDelegate(int a);//型宣言

解釈・・・TestDelegate型は①引数(int)で②戻り値無しのメソッドを参照するdelegate型です。そんな関数を変数として扱える様にインスタンスを作ります。

delegate int StrInt(string s);//型宣言

ex.2)①引数がstringで②戻り値がintのメソッドを参照するdelegate型です。

そんな(引数や戻り値を持つ)メソッドを用意して、インスタンスを作成します。

サンプル

関数A,B,Cは戻り値、引数が同じ型です。

上記が簡単な使い方とマルチキャストデリゲートの基本です。これにより関数名を動的に呼び出す事ができます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする