MATLAB® предоставляет метод образца Combine
, что позволяет объединить серию делегатов в одного делегата. Remove
и RemoveAll
методы удаляют отдельных делегатов. Дополнительные сведения см. в библиотеке классов .NET Framework, как описано в разделе «Дополнительные сведения о среде .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);