Custom class properties and method attributes
Show older comments
Is there a way to add custom property or method attributes to handle classes? It is done by several classes or toolboxes, e.g. the unit testing framework allows to add tags to the methods: Tag Unit Tests - MATLAB & Simulink (mathworks.com)
classdef ExampleTagTest < matlab.unittest.TestCase
methods (Test)
function testA (testCase)
% test code
end
end
methods (Test, TestTags = {'Unit'})
function testB (testCase)
% test code
end
function testC (testCase)
% test code
end
end
I'm talking about the attributes "Test" and "TestTags".
My application would greatly benetfit from a finer granular control of properties for a DTO (data transfer object) class. I want to use argument validation but add additional options like overridable properties and don't want to use inputParser anymore :)
Thanks!
6 Comments
Matt J
on 26 Oct 2021
and don't want to use inputParser anymore
Why not? It's more flexible than argument validation.
Jan Kappen
on 26 Oct 2021
Matt J
on 26 Oct 2021
They're convenient when all the validation can be done inline, but for what you describe, it sounds like you're going to have to write your own custom validation function anyway.
Jan Kappen
on 26 Oct 2021
Jim Svensson
on 22 Mar 2023
As far as I know Matlab does not (version<=R2023) support custom property attributes. But if you are not using some of the existing ones for anything you might use them. For example SetObservable or GetObservable can be used to mean something else if you are not using listeners.
Jan Kappen
on 22 Mar 2023
Accepted Answer
More Answers (0)
Categories
Find more on Class Introspection and Metadata in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!