exponenta event banner

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

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

См. также

| |

Связанные темы