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

标签 c# type-conversion anonymous-types

如果我有这样的类(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.Namecustomer.Name 足以让编译器推断应该有一个属性 Name。)

关于c# - 如何将对象转换为具有相同属性和数据的匿名类型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408821/

相关文章:

c# - 在匿名类型中包含基于条件的属性

c# - 自定义字符串格式 0,0 带斜杠或反斜杠

c++ - 如何将字符串转换为 xmlChar

c# - 对 IEnumerable<T> 以外的类型(monads?)进行操作的 LINQ 查询表达式——可能的用途?

c++ - 生成算术运算结果类型的策略?

go - 具有未导出字段的结构类型之间的转换

C# 动态构建匿名对象

c++ - 不透明和匿名枚举声明如何符合标准要求?

c# - 以编程方式检查 Windows 10 的区分大小写的目录属性

c# - 如果数字在 X 和 Y 之间