2

A列挙型のプロパティを継承しB、さらに要素を拡張する可能性を提供する列挙型を作成する可能性はありますか?

Enum A
- one
- two
- three

Enum B:A
- four
4

2 に答える 2

1

いいえ、できません。Base Enum は継承をサポートしていません。

于 2013-02-06T13:20:18.723 に答える
1

できませんが、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));    

お役に立てれば。

于 2013-02-13T17:06:43.700 に答える