有没有办法获取派生类型的所有组件?

Is there a way to get all components of a derived type?

我正在尝试在 MEX 文件中编写一个子例程,以将 Fortran 派生类型转换为 MATLAB 结构。我想使该过程自动化,因为我有一个派生类型,其中包含多个本身是派生类型的组件,因此手动转换每个组件将花费很长时间。

我发现了另一个与此相关的问题,表明无法将这些组件作为字符串访问:Is there a way to call the field of a derived type using a string?

除此之外,我想可能有一种方法可以获取组件的数量并通过数字索引访问每个组件,但我没有发现任何表明这是可能的。 None 我正在处理的派生类型具有过程组件,只有变量。

我能否以通用方式访问这些变量,例如 myObj%(1)

答案与链接问题中的答案相同。不,这样的索引是不可能的。