使用简单名称声明匿名类型成员
当您尝试编译时:
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上的相关问题仅导致成员分配和成员访问的示例。
据我所知, simple name
声明是这样的:
var amount = 10; var whatever = "hello"; var newType = { amount, whatever }
这将自动创建一个等于的匿名类型:
var newType = { amount = amount, whatever = whatever }