【发布时间】:2014-10-27 15:25:25
【问题描述】:
当你尝试编译这个时:
var car = new { "toyota", 5000 };
您将收到编译器错误“无效的匿名类型成员声明器。必须使用成员赋值、简单名称或成员访问来声明匿名类型成员。”因为编译器无法推断来自各个表达式的属性名称。 这完全有道理。
让我好奇的是,错误消息暗示了声明类型成员的三种有效方式。成员分配和成员访问是显而易见的:
// member assignment
var v = new { Amount = 108, Message = "Hello" };
// member access
var productQuery =
from prod in products
select new { prod.Color, prod.Price };
使用简单名称声明的示例是什么?
谷歌搜索和关于 SO 的相关问题仅提供成员分配和成员访问的示例。
【问题讨论】:
标签: c# anonymous-types