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