str2func
特定のプロパティ値 (この場合は ) に応じて、クラスのさまざまなメソッドを呼び出すために使用しようとしていますobj.type
。
ので、私は持っています
classdef myClass
properties
type %# values are different file extensions (LSM, TIFF, OIF etc...)
end
methods(public)
function process(self)
%# here I would like to do something in the lines of
funHandle = str2func(['@()self.process_' self.type])
funHandle() %# E1
end
end
methods(private)
%# I have a bunch of methods named process_[type]
process_LSM(self)
process_TIF(self)
% etc...
end
end
ただし、これは機能しません。行E1 (上記) で、MATLAB はクラスselfが未定義であり、Java が実行されていない可能性があると文句を言いますか? これを機能させる方法はありますか、またはメソッドprocessでスイッチ構造を使用して、型固有のメソッドprocess_[type]を呼び出す必要がありますか?