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