假设我在类文件中定义了MATLAB对象
classdef foo
properties
bar
end
end
Run Code Online (Sandbox Code Playgroud)
我创建了一个foo对象
myfoo = foo();
Run Code Online (Sandbox Code Playgroud)
现在我想动态地向foo添加另一个字段.我想要的是
myfoo.newfield = 42;
Run Code Online (Sandbox Code Playgroud)
但这会引发错误.
我知道有一种方法可以动态地将字段/属性添加到MATLAB对象中,但我无法记住它或在帮助中轻松找到它.有谁知道语法?
好的,找到了.但它不是通用的,只有dynamicprops类的子类实现它.这是我记得遇到的.所以我怀疑这个问题的一般答案是你不能这样做.
任何作为dynamicprops类(它本身是句柄类的子类)的子类的类都可以使用addprop方法定义动态属性.语法是:
P = addprop(H,'PropertyName')
Run Code Online (Sandbox Code Playgroud)