Create enumeration instance by comparison to variable
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Enumerations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!