メソッドを参照するデータ構造体であるデリゲートを表します。次の例は、myMethodDelegateという名前のデリゲートを定義する方法を示しています。クラスの静的メソッドに対して作成されます。mySampleClassのインスタンスが必要です。mySCという名前の変数に保存されます。クラスは、デリゲート型の基本クラスです。クラスから明示的に派生させることができます。デリゲート型から新しい型を派生させることもできません。クラスは、デリゲート型とは見なされません。これは、デリゲート型を派生させるために使用されるクラスです。クラスから派生できます。キーワードを使用する必要があります。メソッドを提供します。Basic、またはビジュアルから明示的に呼び出す必要はありません。メソッドは、デリゲート型のシグネチャを検索する場合に、リフレクションに役立ちます。メソッドを使用して各デリゲート型を提供します。これらのメソッドの詳細については、「同期メソッドの非同期呼び出し」を参照してください。Asynchronously.デリゲート型の宣言は、1つまたは複数のメソッドのシグネチャを指定するコントラクトを確立します。デリゲートは、への参照を持つデリゲート型のインスタンスです。to:型のインスタンスメソッドとターゲットオブジェクトは、その型に割り当てることができます。type.型のインスタンスメソッドです。パラメーターは、仮パラメーターリストで公開されています。デリゲートは、オープンインスタンスデリゲートと呼ばれます。delegate.静的メソッド。method.静的メソッドとターゲットオブジェクトは、メソッドの最初のパラメーターに割り当てることができます。デリゲートは、最初の引数に対して閉じられると言います。メソッドのオーバーロード」を参照してください。デリゲートはメソッドのシグネチャがデリゲート型によって指定されたシグネチャと完全に一致する場合にのみメソッドを表すことができます。したがって、上記のリストの最初と3番目の箇条書きのみがサポートされており、最初の箇条書きでは正確な型の一致が必要です。(最も一般的なケース)、デリゲートは、メソッドのエントリポイントへの参照と、ターゲットと呼ばれるオブジェクトへの参照を格納します。デリゲートがオープンインスタンスメソッドを表す場合は、メソッドのエントリポイントへの参照を格納します。パラメーターを仮パラメーターリストに含める必要があります。この場合、デリゲートにはターゲットオブジェクトへの参照がなく、デリゲートの呼び出し時にターゲットオブジェクトを指定する必要があります。invoked.デリゲートが静的メソッドを表す場合、デリゲートはメソッドのエントリポイントへの参照を格納します。デリゲートが最初の引数に対して閉じた静的メソッドを表す場合、デリゲートはメソッドのエントリポイントへの参照と、メソッドの最初の引数の型に割り当て可能なターゲットオブジェクトへの参照を格納します。デリゲートが呼び出されると、静的メソッドの最初の引数はターゲットオブジェクトを受け取ります。object.デリゲートの呼び出しリストは、リストの各要素がデリゲートによって表されるメソッドの1つを厳密に呼び出すデリゲートの順序付きセットです。呼び出しリストには、重複するメソッドを含めることができます。呼び出し時に、メソッドは呼び出しリストに出現する順序で呼び出されます。デリゲートは、呼び出しリスト内のすべてのメソッドを呼び出そうとします。重複は、呼び出しリストに出現するたびに1回呼び出されます。デリゲートは変更できません。作成されると、デリゲートの呼び出しリストは変更されません。Removeなどの組み合わせ操作では、既存のデリゲートを変更しません。nullを含む新しいデリゲートが返されます。結合操作は、要求された操作に影響がない場合に、変更されていないデリゲートを返します。メソッドを使用して、デリゲート操作を実装します。4以降では、ジェネリックデリゲート型にバリアント型パラメーターを含めることができます。反変の型パラメーターは、デリゲートのパラメーターの型として使用できます。共変の型パラメーターを戻り値の型として使用することもできます。この機能を使用すると、共変性と反変性に関する説明に従って、型引数が継承関係を持つ参照型である場合に、同じジェネリック型定義から構築されたジェネリックデリゲート型を割り当て互換にすることができます。分散によって割り当て互換性がある汎用デリゲートは、必ずしも組み合わせ可能であるとは限りません。組み合わせ可能にするには、型が正確に一致している必要があります。Baseという名前のクラスから派生しているとします。Action<Derived>型の変数に割り当てることができますが、型が正確に一致しないため、2つのデリゲートを組み合わせることはできません。exactly.呼び出されたメソッドが例外をスローした場合、メソッドは実行を停止し、例外はデリゲートの呼び出し元に戻され、呼び出しリスト内の残りのメソッドは呼び出されません。呼び出し元で例外をキャッチしても、この動作は変更されません。behavior.デリゲートによって呼び出されたメソッドのシグネチャに戻り値が含まれている場合、デリゲートは呼び出しリスト内の最後の要素の戻り値を返します。シグネチャに参照によって渡されたパラメーターが含まれている場合、パラメーターの最終的な値は、呼び出しリスト内のすべてのメソッドのうち、連続して実行され、パラメーターの値が更新された結果になります。デリゲートに最も近いものは、関数ポインターです。デリゲートは、静的メソッドまたはインスタンスメソッドを表すことができます。デリゲートがインスタンスメソッドを表す場合、デリゲートは、メソッドのエントリポイントへの参照だけでなく、クラスインスタンスへの参照も格納します。関数ポインターとは異なり、デリゲートはオブジェクト指向でタイプセーフです。インスタンスに対して呼び出すデリゲートを初期化します。String)指定したクラスから指定の静的メソッドを呼び出すデリゲートを初期化します。class.プロパティMethodデリゲートによって表されるメソッドを取得します。インスタンスを取得します。method.メソッドClone()デリゲートの簡易コピーを作成します。つのデリゲートの呼び出しリストを連結します。delegates.Combine(Delegate[])デリゲートの配列の呼び出しリストを連結します。デリゲートの呼び出しリストを連結します。MethodInfo)指定した静的メソッドを表すために、指定した型のデリゲートを作成します。Boolean)指定された静的メソッドを表す、指定された型のデリゲートを、バインドに失敗した場合の動作を指定して作成します。引数を指定して作成します。引数およびバインドに失敗したときの動作を指定して作成します。メソッドを表す、指定した型のデリゲートを作成します。インスタンスに対して呼び出す指定した型のデリゲートを作成します。インスタンスに対して呼び出す指定した型のデリゲートを作成します。String)指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。Boolean)指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを、大文字と小文字の区別方法を指定して作成します。Boolean)大文字と小文字の区別方法およびバインドに失敗したときの動作を指定して、指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。(遅延バインディング)。(遅延バインディング)。delegate.Equals(Object)指定したオブジェクトと現在のデリゲートが同じ型を持ち、同じターゲット、メソッド、および呼び出しリストを共有しているかどうかを確認します。delegate.GetInvocationList()デリゲートの呼び出しリストを返します。delegate.GetMethodImpl()現在のデリゲートによって表される静的メソッドを取得します。StreamingContext)サポートされていません。簡易コピーを作成します。Delegate)一方のデリゲートの呼び出しリストから、最後に出現した他方のデリゲートの呼び出しリストを削除します。Delegate)一方のデリゲートの呼び出しリストから、そこに出現する他方のデリゲートの呼び出しリストをすべて削除します。delegate.RemoveImpl(Delegate)一方のデリゲートの呼び出しリストから、他方のデリゲートの呼び出しリストを削除します。Delegate)指定したデリゲートが等しいかどうかを判断します。Delegate)指定したデリゲートが等しくないかどうかを判断します。equal.拡張メソッドGetMethodInfo(Delegate)指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Eventsこのページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。Cookie利用条件サイトのフィードバック商標このページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。Cookie利用条件サイトのフィードバック。