Объединение и удаление делегатов.NET

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);

Смотрите также

| |

Похожие темы