使わないことが、いちばん近道です。プロパティーの例であれば、実装を次のように書き換えることができます。使わず、すべての場合を列記しています。することで、今後にもし新しい候補が追加されても、それらの候補を想定できていないことをコンパイラーが検出できて、足りない条件を補うことをプログラマーに強制できます。これはビルドエラーとして現れてくるため、コードのどこで想定していない箇所があるか一目瞭然なのが嬉しいですし、何より他の条件に埋もれないため、予期しない動作を絶対に起こさないで済むのが最大の利点です。何個も出てきて、を冗長に感じる人もいるかもしれません。そのような時は、次のように書き換えることも可能です。できるだけ避けた方が良いように思います。文と全く同じ重みになります。文を使っていると、今後もし列挙型に候補を追加したときに、条件が網羅されていないかもしれないことをコンパイラーで検出できなくなってしまうため、余程適切な理由がない限りは避けておくのが無難なように思います。列挙型を裁くのが適切な場面があるとしたら、例えば次のような値付き列挙型があった場合でしょうか。文を使って問題ないと考えます。絶対に成り得ないためです。差別化を図るか、それとも下記のように一般的な篩い分けと統一した書き方にするか、好みの分かれるところかもしれません。}}列挙型に機能を実装できることについてところで、これは完全に価値観に依る捉え方になるのですけど、自分的には、列挙型にメソッドやプロパティーが実装できるようになっているのは、プロトコル指向を実現するためなんじゃないかなって思ってます。型に性質を付与するために、メソッドやプロパティーといったものを使って振る舞いを規定する、そんな感じの捉え方です。そのため、列挙型の本質は列挙子である、そして型が振る舞いを持つ、そんな発想でこれ以降の話を展開していくつもりです。感覚的な話で捉えにくいところですけど、そんな風な視点で見るとこんな考えになったりするのか、みたいな感じで眺めてもらえれば幸いです。ついて、話を進めて行こうと思います。当たり前なものでした。表現することになっていて、むしろ列挙子名の方が便宜上のオマケみたいな位置づけだったように感じます。何も値を持たないまま、列挙子としてそれを表現できるようになっていて、むしろ値の方がオマケです。始めてしばらくの間、とても不思議に思えてなりませんでした。値というものを持ちません。いった具体的な値は持っていないことになります。使ってクラス継承みたいな書き方で指定した上で、具体的にどの値としても扱えるかどうかを明記することで実現できます。始まる通し番号が指定されたのと同じになります。指定できるようになっています。列挙子の具体的な値はリテラルで記載して、それによって列挙子とリテラルとが関連づけられます。値がリテラルから具体的に生成されます。