【问题标题】:Convert an existing type into an anonymous type and add a new property将现有类型转换为匿名类型并添加新属性
【发布时间】:2009-01-30 11:42:50
【问题描述】:

是否可以采用现有类型并从中创建具有附加属性的匿名类型?例如(在 VB 中)

Public Class Person
  Public Name As String
  Public Age As Integer
End Class

Dim p As New Person With {.Name = "James", .Age = 100}

Dim n = New With {.ShoeSize = 10}

我想要的是第二个对象 (n) 来克隆 p 的所有属性,然后添加一个新属性 (ShoeSize)。

这可能吗?

非常感谢

詹姆斯

【问题讨论】:

    标签: vb.net clone anonymous-types


    【解决方案1】:

    在 C# 中没有语法可以做到这一点。您必须自己构造匿名类型,以及所有属性。

    【讨论】:

      【解决方案2】:

      如果您需要定期执行此操作,修改我列出的 here 扩展程序可以节省一些输入。

      也就是说,如果他们返回string.Join(", " , from p in ps select "." + p.Name + " = " + VarName + "." + p.Name),您至少可以节省一些输入。

      OP 中的变量示例:p.AllFieldsVb("p") 返回".Name = p.Name, .Age = p.Age"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-19
        • 1970-01-01
        • 2010-11-27
        • 2017-09-10
        • 2012-05-01
        • 2020-04-18
        • 2012-01-20
        相关资源
        最近更新 更多