You can use the C # 4 compiler. The C # 3 compiler had weaker type inference around method group conversions. You can read the details in Eric Lippert's answer here . Itβs not entirely clear to me whether this means that the C # 3 compiler does not actually implement the C # 3 specification, or whether the specification itself has changed between 3 and 4 in this area. This is a pretty academic question compared to whether the compiler does what you want;)
(I just tested it, and your program does not compile with VS 2008, but compiles with VS 2010.)
source share