4

是否可以采用现有类型并从中创建具有附加属性的匿名类型?例如(在 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)。

这可能吗?

非常感谢

詹姆士

4

2 回答 2

2

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

于 2009-01-30T11:45:16.070 回答
0

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

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

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

于 2015-03-09T08:34:19.177 回答