0
我用VS 2017年的RC和C#新特性玩:匿名類型在其範圍局部功能
class Program
{
class A
{
public int Z1 { get; set; }
public int Z2 { get; set; }
}
static void Main(string[] args)
{
var q = new[] { new A() }.Select(x => new { x.Z2 });
Do(q.First());
int Do<T>(T p)
{
Console.WriteLine(p.GetType().Name);
return 0;
}
}
}
上面的代碼並編譯和輸出
"<>f__AnonymousType0`1"
然而,以下不:
Console.WriteLine(p.Z2);
產生
錯誤CS1061「T」不包含關於「Z2」的定義和沒有 擴展方法「Z2」接受類型「T」可以是的第一個參數 (是否缺少using指令或裝配參考?)
這是什麼東西還沒有完成呢?我們能否在發佈後訪問本地函數內的匿名類型的屬性?
您可以添加任何參考源,讓你覺得它應該工作?還沒有看過那個。 – Slai
這將表現與非本地功能相同。 – Servy