Delegate.Combine メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたマルチキャスト (結合可能) デリゲートの呼び出しリストを連結します。
オーバーロード
Combine(Delegate[]) |
デリゲートの配列の呼び出しリストを連結します。 |
Combine(ReadOnlySpan<Delegate>) |
デリゲートのスパンの呼び出しリストを連結します。 |
Combine(Delegate, Delegate) |
2 つのデリゲートの呼び出しリストを連結します。 |
Combine(Delegate[])
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
デリゲートの配列の呼び出しリストを連結します。
public:
static Delegate ^ Combine(... cli::array <Delegate ^> ^ delegates);
public:
static Delegate ^ Combine(cli::array <Delegate ^> ^ delegates);
public static Delegate Combine (params Delegate[] delegates);
public static Delegate? Combine (params Delegate?[]? delegates);
public static Delegate Combine (Delegate[] delegates);
[System.Runtime.InteropServices.ComVisible(true)]
public static Delegate Combine (params Delegate[] delegates);
static member Combine : Delegate[] -> Delegate
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Combine : Delegate[] -> Delegate
Public Shared Function Combine (ParamArray delegates As Delegate()) As Delegate
Public Shared Function Combine (delegates As Delegate()) As Delegate
パラメーター
- delegates
- Delegate[]
結合するデリゲートの配列。
戻り値
delegates
配列内のデリゲートの呼び出しリストを連結する呼び出しリストを持つ新しいデリゲート。
delegates
が null
の場合、delegates
に 0 個の要素が含まれている場合、または delegates
内のすべてのエントリが null
されている場合は、null
を返します。
- 属性
例外
delegates
内のすべての null 以外のエントリが同じデリゲート型のインスタンスであるわけではありません。
注釈
delegates
配列に null
エントリが含まれている場合、それらのエントリは無視されます。
呼び出しリストには重複するエントリを含めることができます。つまり、同じオブジェクトで同じメソッドを参照するエントリです。
手記
分散のために割り当て互換であるジェネリック デリゲートは、必ずしも組み合わせ可能ではありません。 組み合わせ可能にするには、型が正確に一致する必要があります。 たとえば、Derived
という名前のクラスが、Base
という名前のクラスから派生しているとします。
共変性と反変性ので説明されているように、Action<Base>
型 (Visual Basic のAction(Of Base)
) のデリゲートを Action<Derived>
型の変数に割り当てることができますが、型が正確に一致しないため、2 つのデリゲートを結合することはできません。
Combine は、イベントが発生するたびに複数のメソッドを呼び出すイベント ハンドラーを作成する場合に便利です。
こちらもご覧ください
適用対象
Combine(ReadOnlySpan<Delegate>)
デリゲートのスパンの呼び出しリストを連結します。
public:
static Delegate ^ Combine(ReadOnlySpan<Delegate ^> delegates);
public static Delegate? Combine (scoped ReadOnlySpan<Delegate?> delegates);
static member Combine : ReadOnlySpan<Delegate> -> Delegate
Public Shared Function Combine (delegates As ReadOnlySpan(Of Delegate)) As Delegate
パラメーター
- delegates
- ReadOnlySpan<Delegate>
結合するデリゲートのスパン。
戻り値
delegates
スパン内のデリゲートの呼び出しリストを連結する呼び出しリストを持つ新しいデリゲート。
delegates
が null
の場合、delegates
に 0 個の要素が含まれている場合、または delegates
内のすべてのエントリが null
されている場合は、null
を返します。
適用対象
Combine(Delegate, Delegate)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
2 つのデリゲートの呼び出しリストを連結します。
public:
static Delegate ^ Combine(Delegate ^ a, Delegate ^ b);
public static Delegate Combine (Delegate a, Delegate b);
public static Delegate? Combine (Delegate? a, Delegate? b);
static member Combine : Delegate * Delegate -> Delegate
Public Shared Function Combine (a As Delegate, b As Delegate) As Delegate
パラメーター
- a
- Delegate
呼び出しリストが最初に表示されるデリゲート。
- b
- Delegate
呼び出しリストが最後に表示されるデリゲート。
戻り値
a
と b
の呼び出しリストをその順序で連結する呼び出しリストを持つ新しいデリゲート。
b
が null
の場合は a
を返し、a
が null 参照の場合は b
を返し、a
と b
の両方が null 参照の場合は null 参照を返します。
例外
a
と b
はどちらも null
されず、a
と b
は同じデリゲート型のインスタンスではありません。
注釈
呼び出しリストには重複するエントリを含めることができます。つまり、同じオブジェクトで同じメソッドを参照するエントリです。
手記
分散のために割り当て互換であるジェネリック デリゲートは、必ずしも組み合わせ可能ではありません。 組み合わせ可能にするには、型が正確に一致する必要があります。 たとえば、Derived
という名前のクラスが、Base
という名前のクラスから派生しているとします。
共変性と反変性ので説明されているように、Action<Base>
型 (Visual Basic のAction(Of Base)
) のデリゲートを Action<Derived>
型の変数に割り当てることができますが、型が正確に一致しないため、2 つのデリゲートを結合することはできません。
Combine は、イベントが発生するたびに複数のメソッドを呼び出すイベント ハンドラーを作成する場合に便利です。
こちらもご覧ください
適用対象
.NET