How to get a complete list of class properties including private properties.
34 次查看(过去 30 天)
显示 更早的评论
I wrote a class which have both public and private properties.
In a private mehod of the class, I need to get a complete list of porperties of the class, definitely, including all private properties.
Buit-in function 'properties' reveals only public properties.
What would be my options?
Thank you.
0 个评论
采纳的回答
Steven Lord
2022-12-7
5 个评论
Steven Lord
2024-5-24
Since the dynamicprops Class is also not listed as having support for code generation, I believe the complete list of properties should be known at the time the code is generated. So if worst comes to worst you could hard-code that list of properties in a method of your class.
I'm not sure what your use case is for dynamically generating the list of properties of a class implemented in MATLAB code inside a C or C++ file generated from that class. That smells kind of fishy to me.
Rajmohan
2024-5-28
You are correct, I meant metaclass is not supported for code generation.
You probably have a better programming solution compared to mine -
I am working on developing a matlab.System object. The input to this block, u, is [n,1] where it is possible to have different forms of inputs. i.e. it has to support some legacy input formats and some more recent iterations which means that n could be different and so their ordering.
My solution to generalize this was to define an input class which knows the order of inputs and assigns them to named properties - the goal being the order of the inputs is prescribed in one location only. example: obj.a = u(1); obj.b = u(2); if input if of type A. If input is of type B, then obj.a = u(17), obj.b = u(57) and so on based on the input class that was selected. This solution works great but can be a little slow as the stepImpl has a very large number of property calls. So my intention was to create a structure with the fields and values to help improve performance. Since the property list can change based on the input type, the easy way is to get the list of properties and create a structure.
Please feel free to tell me if that assumption for performance improvement is inaccurate.
I suppose a workaround would be to require that the input classes define a method to create a structure.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!