JavaとC#のEnum
Effective Java(2nd)を読んでると、JavaのEnumがすごく素晴らしいものに思えてくる。
近々C#でプログラムを組む予定があるので、C#のEnumはどんなだったかなと思って調べてみたんだけど、デフォルトではTypeSafeEnumじゃないみたい。
C#でEnumを使うWeb連載で、Enum型に+1とか平気でするような記事もあるし・・・・・・
もちろんint型実装のEnumだけどさ・・・Enumの安全性利点を消しちゃってるのがなぁ。
そんなわけでTypeSafeEnumを探してたんだけど・・・身近な所に先人がいらっしゃいましたw
http://d.hatena.ne.jp/bleis-tift/20080808/1218133517
前に上げたStrategyEnumが、Enumに振る舞いを持たせる実装に一致するのかな。
C#のEnumキーワードを使わない場合の不利益としては・・・switchが使えなくなる?*1
と、それぐらいしか思いつかない。Enum記述に意味ががが・・・
・・・・・・C#のEnum実装もJavaっぽくならないかなぁ。