.NET デリゲートの組み合わせと削除
MATLAB® はインスタンス メソッド Combine
を提供しており、これは一連のデリゲートを組み合わせて単一のデリゲートにします。Remove
および RemoveAll
メソッドは個々のデリゲートを削除します。詳細については、.NET に関する詳細の説明にあるように .NET クラス ライブラリのドキュメンテーションを参照してください。
たとえば、NetDocDelegate.delInteger
デリゲートで使用する以下の MATLAB 関数を作成します。
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);
この場合、関数 action1
の後に action2
が続きます。
Add flour Add eggs
result
の値は最終デリゲート (step2
) からの出力です。
result = Add eggs
System.Delegate
クラスの静的メソッド Combine
、Remove
および RemoveAll
も使用可能です。
mixItems
から step1
を削除するには、以下を入力します。
step3 = mixItems.Remove(step1);