Possible Duplicate:
Why can't the C# constructor infer type?
Why is the following true:
var foo = new KeyValuePair(3,4); //doesn't compile!
var boo = new KeyValuePair<int,int>(3,4); //works fine!
I would think both lines would be legal, since the type can be (should be) inferred from the parameters. Explanation?