2009-01-30 37 views
3

是否可以使用現有類型並使用其他屬性創建一個匿名類型?例如:(在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)。

這可能嗎?

非常感謝

詹姆斯

回答

2

沒有語法做,在C#。您必須自己構建匿名類型,並使用所有屬性。

0

如果您需要定期執行此操作,修改我的擴展名列表here可以節省一些打字。

也就是說,如果他們返回string.Join(", " , from p in ps select "." + p.Name + " = " + VarName + "." + p.Name),至少可以保存一些輸入內容。

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