>>279
おれもそう思った。
Java的なやりかたはJNIを使って
Javaとポインタ演算をバリバリに使うコードとをはっきりと分離させて
すっきりさせたシンプルな仕様としてC#よりも優れていると思うのだ。

C#のプロパティも魅力を感じない。
一見便利そうに見えても、思わぬ不便な落とし穴にはまることがあったりする。

たとえばNameというプロパティを定義すると
Get_Name, Set_Nameというメソッドを作ることができない。
作るとエラーになる。

あるいは、set/getキーワードを使いたくない場合は、
メソッド名の頭にGet_, Set_を使わなければならない。
その辺りの制限はJavaのsetter/getterメソッドの命名規則と変わらない。

この程度ならまあどうでもいいかもしれない。
しかし、これはどうだろう。

C#で不変クラスを作りたいとき、お前らはどうする?
わざわざプロパティを使うか?

C#のプロパティを不用意に使うと、一部のプロパティ変数を
不変にすることがJava程容易ではなくなるのだ。

Javaでは不変にするためにsetterメソッドを定義しない、フィールドをprivate,
クラスをfinalにするだけで済む。

C#でも、プロパティの使用をやめ、
Javaと同じように(C#ではGet_/Set_で命名)扱えば済む。