.net – Convert an existing type into an anonymous type and add a new property


Is it possible to take an existing type and create an anonymous type from it with additional properties? For Example (in 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}

What I want is the second object (n) to clone all the properties of p and then add a new property (ShoeSize).

Is this possible?

Many Thanks


Best Solution

There is no syntax to do that in C#. You'll have to construct the anonymous type yourself, with all the properties.