如果我有这样的类(class):
public class Customer
{
public string Name { get; set; }
}
如何转换此类的对象:
var cust = new Customer { Name = "Test" };
变成这样的东西:
new { Name = "Test" }
最佳答案
由于匿名类型 — new { … }
— 没有名称,因此您无法通过显式类型转换实现您想要的目标 — (TypeName)value
。也没有可用的隐式类型转换,因此您实际上必须创建逐个属性的副本:
var customer = new Customer { Name = "Joe" };
var anonymous = new { customer.Name };
(请注意第二行代码中的缩写语法:您不必编写 Name = customer.Name
;customer.Name
足以让编译器推断应该有一个属性 Name
。)
关于c# - 如何将对象转换为具有相同属性和数据的匿名类型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408821/