Is there a way to give method/property access to all classes in a package without typing them all in manually?
1 次查看(过去 30 天)
显示 更早的评论
So I am writing a rather large application in appdesigner, and so I put a lot of the callbacks used by the app in a seperate class file where they are all accessed as static methods. I want these methods to be able to obviously access the private methods and private properties of the app object. For the properties of the app, I have something like this:
properties (Access = {?libs.callbacks.kinetics.Data, ...
?libs.callbacks.kinetics.Processes, ...
?libs.callbacks.kinetics.Figures})
Right now this is not a big deal, however, as I add more callbacks, this is going to get more and more annoying. I tried to just do:
properties (Access = ?libs.callbacks)
But this does not work (I am actually unsure what this even does, because it doesn't return an error or anything it just doesn't give access to any of the classes). Is there a way to give access to all the classes in a package without manually writing them all in into a class list?
0 个评论
回答(1 个)
Image Analyst
2022-6-30
I don't know what that "Access=" stuff is, but I know if you have an instance of a class or a static class you can do
methods(className)
properties(className)
and it will list them all. For example, with the attached class:
methods(Excel_utils);
properties(Excel_utils)
2 个评论
Image Analyst
2022-7-6
You could easily write a script that looks at all m-files in a folder and determine which are class definitions by reading in the m-files line-by-line and then, for class files, find out what the methods and properties are. I'd be surprised if there is not something in the File Exchange already that does that. If there is not, and you can't figure out how to write the simple code to do it, write back and I'll do it if I find the time.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Software Development Tools 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!