- - PR -
列挙型(enum)
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-08-14 16:14
クラスAで列挙型オブジェクトを作成し、クラスAをインスタンス化した
クラスBから列挙型の参照ができずに困っています。 例) public class A { public enum Error {X = 0, Y = 1, Z = 2}; …処理… } class B { A a = new A() a.Error.X // インテリセンスも使用できずエラー } 列挙型はインスタンスからは参照できずに 宣言したクラス内でしか使用できないのでしょうか。 それとも何か考え違いでもしているのでしょうか。。 何かアドバイスを頂ければ幸いです。 よろしくお願いします。 |
|
投稿日時: 2003-08-14 16:44
A.Error.A とクラス名を使えばいいのではないでしょうか?
|
|
投稿日時: 2003-08-14 17:16
ありがとうございます!
確かに上記のようにすることで動作しました。 しかし原因がいま一つわかりません。 どこか理解違いをしているのだと思いますが なぜ上記のようにすることにより動作するのでしょうか。 |
|
投稿日時: 2003-08-14 18:54
あくまで型の定義なので、インスタンスは必要ありません。
class内で定義したclass型と同様の動作になります。 |
|
投稿日時: 2003-08-18 17:34
正式な名前は、
・A クラス ・A.Error 列挙体 ・B クラス となります。 なので、ネストされた列挙体(クラス)のA.Error は、 きちんとA.Error と指定しなくてはいけません。 |
1
