Visual Studio 2010 セットアップ
してみました。ヘルプが完全に web 化したのかな…? 検索と目次が微妙に使いにくいかんじがしますね。
やっぱり、コンストラクタ呼び出しから型パラメータの類推はできないんですよね。一番やりたいのは匿名型を使ったコレクションの生成なので、それだけなら匿名型を表す書式があれば解決するのですけどね。
public static List<T> CreateEmpty<T>(T dummy) { return new List<T>(); } // 匿名型のリストを作成 var list = Create(new { A = 1, B = "foo", }); // var list = new List<{int A, string B}>();
コレクションだけを生成したい時って、ありませんかね? 先日の KeyValuePair とか、記述量減らせていいんだけどね。ファクトリメソッド1つで解決しますけど、ファクトリメソッドで生成するとオブジェクト初期化子やコレクション初期化子が使えなくて逆に記述量が増えたり、ファクトリメソッドが多重オーバーロードでひどいことになったり、前に書いたみたいに Expression を受け取って動的プロパティ設定になったりと、あまり良いことがないんですね。