A
列挙型のプロパティを継承しB
、さらに要素を拡張する可能性を提供する列挙型を作成する可能性はありますか?
例:
Enum A
- one
- two
- three
Enum B:A
- four
A
列挙型のプロパティを継承しB
、さらに要素を拡張する可能性を提供する列挙型を作成する可能性はありますか?
例:
Enum A
- one
- two
- three
Enum B:A
- four
いいえ、できません。Base Enum は継承をサポートしていません。
できませんが、2 つの基本列挙型を手動で作成し、2 つ目の列挙型を最初の列挙型と同じラベルと値で作成すると、継承されているかのように実行時にそれらを仮想的に「ダウン キャスト」できます (実際のコード):
NoYes e1; // 0 No, 1 Yes
NoYesError e2; // 0 No, 1 Yes, 2 Error
e1 = NoYes::No;
e2 = e1+0; // Add zero to avoid compile error
info(strFmt("%1 %2", e1, e2));
e2 = NoYesError::Error;
e1 = e2+0; // Don't do that
info(strFmt("%1 %2", e1, e2));
お役に立てれば。