【发布时间】:2018-10-17 20:30:34
【问题描述】:
在 R2018b 中,我有以下设置:
classdef SomeClass < handle
methods
function SomeMethod(obj)
disp in!
end
end
end
classdef SomeOtherClass < handle
properties (Constant)
instance = SomeClass()
end
methods
function Test(obj)
hdl = @obj.instance.SomeMethod;
hdl();
end
end
end
但是,运行Test() 方法会报错:
>> SomeOtherClass().Test()
Undefined function or variable 'obj.instance.SomeMethod'.
将Test() 方法更改为:
function Test(obj)
A = obj.instance;
hdl = @A.SomeMethod;
hdl();
end
给出想要的结果:
>> SomeOtherClass().Test
in!
我很困惑...为什么我需要中间人A?
【问题讨论】:
标签: matlab oop anonymous-function handle