Je travaille avec un traducteur d'objet basé sur la réflexion.Détection d'objets natifs avec réflexion
il bascule fondamentalement à travers les propriétés d'un objet et affecte les valeurs aux propriétés ayant le même nom/type sur l'objet traduit.
ObjectA.Name = "Joe"
se traduit par:
ObjectB.Name = "Joe"
je dois mettre un cas particulier, car quand une propriété est une classe personnalisée telle que:
ObjectA.Address
j'espérais pouvoir détecter ces propriétés avec IsClass drapeau de PropertyType
propInfo.PropertyType.IsClass
mais ce drapeau semble aussi revenir vrai pour les propriétés de chaîne.
Y at-il une autre façon de vérifier que la propriété est d'un type non natif?
La chaîne n'est pas un type de valeur non plus - c'est * une * classe. Si vous essayez de déterminer quelles propriétés contiennent des objets * mutable *, bonne chance avec ça ... (Aussi, comment définissez-vous le type "natif"?) – cdhowie
La question n'a pas de sens à moins que "type natif" == "type de référence ". –
Le mot "natif" doit être retiré de la question/du titre. C'est confu. Quand je lis 'natif', je pense aux constructions WIN32. – Amy