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 .NET Framework Class Library, as described in To Learn More About the .NET Framework.

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

See Also

| |

Related Topics