委託する

1595 ワード

文章の選び方が自由である  msdn.   http://www.codeproject.com/KB/cs/event_fundamentals.aspx
 
依頼の定義と使用      
     依頼は引用方法の種類です。依頼に方法を割り当てると、依頼はこの方法と全く同じ行動をとることになります。
     C++関数ポインタ(ポインティング関数のポインター変数、この関数の入口アドレスはポインターが指すアドレスであり、このポインター変数を使って関数を呼び出すことができます。主に2つの用途があります。関数を呼び出し、関数を行うパラメータ)がありますが、タイプは安全です。
     オブジェクトに対して参照されるコンテナのように、依頼は複数の方法を参照する容器と考えられています。一つの方法を特別な依頼例によってトリガすることができるようにする。この方法は依頼のインスタンスとして登録しなければならない。登録後。この方法は、委託された方法の引用セットに組み込まれ、同期または非同期の呼び出しを依頼する。非同期呼び出しの場合。方法は独立したスレッドプールで実行されます。この依頼例がトリガされると。この依頼に引用された方法はいずれも実行されます。
     依頼には使用方法の引用が含まれていません。参照と依頼の署名(返却タイプとパラメータ構成)と同じ方法しかありません。
     定義文を依頼する。 
public
 
delegate
 
void
 mydelegate
ストリングス
 myString)
類似の方法で声明を依頼します。しかし、方法体がありません。上記の依頼は戻り値がvoid、パラメータがstringタイプの方法しか参照できません。以下の方法は、mydelegateの例として登録されてもよい。 
public static void myMethod(string) someString)
{
     //to do something
)
新しい依頼文を定義した後。委託例を作成しなければなりません。方法を登録できるようにする。最終的に呼び出します。委託例は以下の通りです。
 
//初期化依頼例とネーミング方法の登録
mydelegate del=new mydelegate(myMethod)
実例化を依頼した後。他の方法も登録できます。例えば:
 
del+=new mydelegate(MyOther Method)
//匿名の方法を登録する
del+=delegate(string someString){System.soonsone.WriteLine(someString);
ここに来てください。依頼すれば利用できます。
 
del

my ストリングス value

)0
この例により、2つの命名方法MyMethodおよびMyOtherMethod が登録されている。前の文が実行されている場合。登録するすべての方法が呼び出されます。
      なぜ依頼や依頼の他の知識を使うかについては、達人に教えてもらいたいです。