如何将对象转换为具有相同属性和数据的匿名类型对象?

时间:2015-05-23 04:12:49

标签: c# type-conversion anonymous-types

如果我有一个类:

public class Customer
{ 
    public string Name { get; set; } 
}

如何转换此类的对象:

var cust = new Customer { Name = "Test" }; 

成像:

new { Name = "Test" }

1 个答案:

答案 0 :(得分:2)

由于匿名类型 - new { … } - 没有名称,因此无法通过显式类型转换 - (TypeName)value实现所需的目标。也没有可用的隐式类型转换,因此您实际上必须创建一个逐个属性的副本:

var customer = new Customer { Name = "Joe" };
var anonymous = new { customer.Name };

(请注意第二行代码中的缩写语法:您不必编写Name = customer.Name; customer.Name足以让编译器推断出应该有一个属性Name 。)