查看单个帖子
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 动态将字段添加到Matlab中的对象

说我在类文件中定义了一个MATLAB对象

classdef foo properties bar end end 我创建了一个foo对象

myfoo = foo(); 现在,我想向foo动态添加另一个字段。我想要的是

myfoo.newfield = 42; 但这会引发错误。

我知道有一种方法可以将字段/属性动态添加到MATLAB对象,但是我记不起来或无法在帮助中轻松找到它。有人知道语法吗?



回答:

好,找到了。但这不是一般性的,只有dynamicprops类的子类可以实现它。这是我记得遇到的事情。因此,我怀疑这个问题的一般答案是您做不到。
任何属于dynamicprops类的子类的类(本身就是handle类的子类)都可以使用addprop方法定义动态属性。语法为:

P = addprop(H,'PropertyName')

更多&回答...
poster 当前离线   回复时引用此帖