Combine and Remove .NET Delegates
MATLAB® provides the instance method Combine
, that lets you
combine a series of delegates into a single delegate. The Remove
and RemoveAll
methods delete individual delegates. For more
information, refer to the documentation for a .NET class library, as described in To Learn More About .NET.
For example, create the following MATLAB functions to use with the NetDocDelegate.delInteger
delegate:
function out = action1(n) out = "Add flour"; disp(out) end
function out = action2(n) out = "Add eggs"; disp(out) end
Create delegates step1
and step2
:
step1 = NetDocDelegate.delInteger(@action1); step2 = NetDocDelegate.delInteger(@action2);
To combine into a new delegate, mixItems
, type:
mixItems = step1.Combine(step2);
Or, type:
mixItems = step1.Combine(@action2);
Invoke mixItems
:
result = mixItems(1);
In this case, the function action2
follows
action1
:
Add flour Add eggs
The value of result
is the output from the final delegate
(step2
).
result = Add eggs
You also can use the System.Delegate
class static methods,
Combine
, Remove
, and
RemoveAll
.
To remove a step1
from mixItems
, type:
step3 = mixItems.Remove(step1);