Create enumeration instance by comparison to variable
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
AstroJon
am 8 Dez. 2021
Kommentiert: AstroJon
am 13 Dez. 2021
Can an instance of an enumeration class be created by comparison to a string or character of the same name as the enumeration? Can it be done by referencing its index in the enumeration list? I want to use the enumeration class to manage the execution of a sequence of functions. Below is my enumeration class (edited for privacy):
classdef types
properties
prop1
prop2
end
enumeration
type1 (1,0)
type2 (0,1)
type3 (1,1)
end
methods
function obj = types(p1,p2)
obj.prop1 = p1;
obj.prop2 = p2;
end
end
end
A function asks the user to select either a single type or a sequence of types. Here's some of the code:
function seq = sequence(choice)
list = enumeration('types');
if choice == 0
[ind,sel] = listdlg('PromptString',"Select a type.",...
'SelectionMode','single','ListString',list);
if sel == 1
switch list(ind)
case types.type1
seq = types.type1;
case types.type2
seq = types.type2;
case types.type3
seq = types.type3;
end
else
seq = 0;
end
elseif choice == 1
% prompts to create sequence and assign enumeration member in a
% similar manner
end
end
Is there a more efficient way to assign the enumeration member to the 'seq' variable?
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Extend Unit Testing Framework finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!