Delegate.Combine Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объединяет списки вызовов указанных делегатов многоадресной рассылки (комбинируемые).
Перегрузки
| Combine(Delegate[]) |
Объединяет списки вызовов массива делегатов. |
| Combine(ReadOnlySpan<Delegate>) |
Объединяет списки вызовов диапазона делегатов. |
| Combine(Delegate, Delegate) |
Объединяет списки вызовов двух делегатов. |
Combine(Delegate[])
- Исходный код:
- Delegate.cs
- Исходный код:
- 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. Возвращает null, если delegatesnull, если delegates содержит нулевые элементы или если каждая запись в delegatesnull.
- Атрибуты
Исключения
Не все записи, отличные от NULL в delegates, являются экземплярами одного типа делегата.
Комментарии
Если массив delegates содержит записи, которые null, эти записи игнорируются.
Список вызовов может содержать повторяющиеся записи; То есть записи, ссылающиеся на тот же метод в одном объекте.
Заметка
Универсальные делегаты, совместимые с назначением из-за дисперсии, не обязательно объединяются. Для объединения типы должны соответствовать точно. Например, предположим, что класс с именем Derived является производным от класса с именем Base. Делегат типа Action<Base> (Action(Of Base) в Visual Basic) можно назначить переменной типа Action<Derived>, как описано в ковариации и контравариации, но два делегата не могут быть объединены, так как типы не соответствуют точно.
Combine полезно для создания обработчиков событий, которые вызывают несколько методов при каждом возникновении события.
См. также раздел
Применяется к
Combine(ReadOnlySpan<Delegate>)
- Исходный код:
- Delegate.cs
Объединяет списки вызовов диапазона делегатов.
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.
Возвращает null, если delegatesnull, если delegates содержит нулевые элементы или если каждая запись в delegatesnull.
Применяется к
Combine(Delegate, Delegate)
- Исходный код:
- Delegate.cs
- Исходный код:
- Delegate.cs
- Исходный код:
- Delegate.cs
- Исходный код:
- Delegate.cs
Объединяет списки вызовов двух делегатов.
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 в этом порядке. Возвращает a, если bnull, возвращает b, если a является пустой ссылкой, и возвращает пустую ссылку, если оба a и b являются пустыми ссылками.
Исключения
Оба a и b не null, а a и b не являются экземплярами одного и того же типа делегата.
Комментарии
Список вызовов может содержать повторяющиеся записи; То есть записи, ссылающиеся на тот же метод в одном объекте.
Заметка
Универсальные делегаты, совместимые с назначением из-за дисперсии, не обязательно объединяются. Для объединения типы должны соответствовать точно. Например, предположим, что класс с именем Derived является производным от класса с именем Base. Делегат типа Action<Base> (Action(Of Base) в Visual Basic) можно назначить переменной типа Action<Derived>, как описано в ковариации и контравариации, но два делегата не могут быть объединены, так как типы не соответствуют точно.
Combine полезно для создания обработчиков событий, которые вызывают несколько методов при каждом возникновении события.