2010-05-21 2 views
0

Imagine, il y a un objet de classe, comme un objet de classe client, et il a beaucoup de propriétés ... Et j'ai un tableau qui a ses données dans une séquence.Comment remplir un attribut d'objet dans une boucle

Je veux appeler une propriété dans l'ordre où les données ont été données à la boucle; PS: le code ci-dessous juste une présentation et je ne parie pas c'est tout à fait correct. ce qui concerne. bk , par exemple;

foreach(FormValueData item in formValues){ 

      kkRow."AccountNumber" = item.AccountNumber 

     } 
+0

Séquence "a" ou séquence spécifique? Dans quel cas, quelle séquence? Identique à l'ordre alphabétique des propriétés? –

+0

@ dans une séquence .. l'ordre pourrait être changé monsieur. Cordialement. – theklc

Répondre

2

Si vous souhaitez parcourir les propriétés d'un objet, vous pouvez le faire en utilisant la réflexion. Voici une méthode d'extension que j'ai écrite pour copier les propriétés d'une instance d'une classe vers une autre instance de la même classe, il se peut que ce ne soit pas exactement ce que vous voulez faire, mais vous devriez pouvoir le modifier pour vos besoins

public static TEntity CopyTo<TEntity>(this TEntity OriginalEntity, TEntity NewEntity) 
    { 
     PropertyInfo[] oProperties = OriginalEntity.GetType().GetProperties(); 

     foreach (PropertyInfo CurrentProperty in oProperties.Where(p => p.CanWrite)) 
     { 
      if (CurrentProperty.GetValue(NewEntity, null) != null) 
      { 
       CurrentProperty.SetValue(OriginalEntity, CurrentProperty.GetValue(NewEntity, null), null); 
      } 
     } 

     return OriginalEntity; 
    } 
Questions connexes