如果我有一个类:
public class Customer
{
public string Name { get; set; }
}
如何转换此类的对象:
var cust = new Customer { Name = "Test" };
成像:
new { Name = "Test" }
答案 0 :(得分:2)
由于匿名类型 - new { … }
- 没有名称,因此无法通过显式类型转换 - (TypeName)value
实现所需的目标。也没有可用的隐式类型转换,因此您实际上必须创建一个逐个属性的副本:
var customer = new Customer { Name = "Joe" };
var anonymous = new { customer.Name };
(请注意第二行代码中的缩写语法:您不必编写Name = customer.Name
; customer.Name
足以让编译器推断出应该有一个属性Name
。)