2010-08T4による不変オブジェクト生成のためのテンプレート2010-08-30不変欲しい!const欲しい!readonlyをローカル変数にもつけたい!という要望をたまに見かけるこの頃。いった再代入不可というマークがローカル変数に導入されるとしたら、readonlyの使い回しだけは勘弁です。ローカル変数なんて大抵は再代入しないので、readonly推奨ということになるでしょう、そのうちreadonly付けろreadonly付けろというreadonly厨が出てくるのは目に見えています。良いことなら付ければいいじゃない、というのはもっともですが、Uglyですよ、視覚的に。頻繁に使うほうがオプションで醜く面倒くさいってのは、良くないことです。いったように、let、もしくはその他のキーワード(valとか?)を導入するならば、いいかな、とは思いますが。それに、ただ単にマークしただけじゃあ不変を保証するわけでもない......。ListなんてClearしてAddRangeしたのと再代入とは、どう違うの?的な。そんなimmutableの分類に関してはufcppさんのimmutableという記事が、コメント欄含め参考になりました。はいっても、そんなにガチに捉えなくても、不変にしたいシチュエーションはいっぱいあります。不変オブジェクトのすゝめ。おお、すすめられたい。ところでしかし、こういう時にいつも疑問に思っているのは、生成どうすればいいのだろう、ということ。.....破綻してる。こんなクソ長いコンストラクタ見かけたら殺していいと思う。