MATLAB® предоставляет методу экземпляра Combine
, который позволяет вам объединить серию делегатов в одного делегата. Remove
и методы RemoveAll
удаляют отдельных делегатов. Для получения дополнительной информации обратитесь к Библиотеке классов Среды.NET, как описано в Узнать больше о Среде.NET.
Например, создайте следующие функции MATLAB, чтобы использовать с делегатом NetDocDelegate.delInteger
:
function out = action1(n) out = 'Add flour'; disp(out) end
function out = action2(n) out = 'Add eggs'; disp(out) end
Создайте делегирует step1
и step2
:
step1 = NetDocDelegate.delInteger(@action1); step2 = NetDocDelegate.delInteger(@action2);
Чтобы объединиться в нового делегата, mixItems
, введите:
mixItems = step1.Combine(step2);
Или, введите:
mixItems = step1.Combine(@action2);
Вызовите mixItems
:
result = mixItems(1);
В этом случае функциональный action2
следует за action1
:
Add flour Add eggs
Значением result
является вывод от итогового делегата (step2
).
result = Add eggs
Также можно использовать статические методы класса System.Delegate
, Combine
, Remove
и RemoveAll
.
Чтобы удалить step1
из mixItems
, введите:
step3 = mixItems.Remove(step1);