ちなみに型推論は,例えば generic method の型引数の省略として,C# 2.0 でも存在します.
メソッド呼出し時の Array.ForEach<T>( array, action ); の <T> は,引数から推測可能なときは省略することができます.
近年の C# で多用される暗黙の型 (コンパイル時生成の内部型) では,むしろここの T を具体的に書けないため,この型推論が可能なことは非常に重要な意味を持ちます.
http://blogs.wankuma.com/naka/archive/2007/06/03/79237.aspx
コメント欄参照のこと.