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