4
我有下面的代碼:泛型類型推斷解釋
namespace ConsoleApplication1
{
using System.Collections.Generic;
using System.Linq;
internal class Program
{
private static void Main(string[] args)
{
var bar = new object();
var result = new int[] { 1, 2, 3 }
.Select/* <int,int> */(bar.Test<int>)
.ToList();
}
}
public static class Extensions
{
public static TReturnType Test<TReturnType>(this object o, int e)
{
return default(TReturnType);
}
}
}
僅有的Visual Studio 2012米的作品就像一個魅力的機器上編譯此。但是,要在2010年僅在一臺機器上編譯它,則需要刪除<int, int>
附近的註釋。
有人可以詳細說明爲什麼這現在在2012年工作,並在規範中這解釋了什麼?
他們可能改善編譯器的類型推理能力,但它不會出現在列表中的改變:HTTP:/ /stackoverflow.com/a/11549260/870604 – ken2k