Question

Est-il possible de prendre un type existant et d'en créer un type anonyme avec des propriétés supplémentaires? Par exemple (en 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}

Ce que je veux, c'est le deuxième objet (n) pour cloner toutes les propriétés de p, puis ajouter une nouvelle propriété (ShoeSize).

Est-ce possible?

Merci beaucoup

James

Était-ce utile?

La solution

Il n'y a pas de syntaxe pour le faire en C #. Vous devrez construire le type anonyme vous-même, avec toutes les propriétés.

Autres conseils

Si vous devez le faire régulièrement, une modification de mes extensions répertoriées dans ici pourrait vous éviter quelques saisies.

C’est-à-dire que s’ils retournaient string.Join(", " , from p in ps select "." + p.Name + " = " + VarName + "." + p.Name), vous pourriez au moins économiser du texte.

Un exemple avec les variables dans l'OP: p.AllFieldsVb("p") renvoie ".Name = p.Name, .Age = p.Age".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top