2010-05-21 133 views
0

想象一下,有一个类对象,就像一个Customer Class对象一样,它有很多属性...我有一个数组,它有一个序列中的数据。如何在一个循环中填充一个对象属性

我想调用一个属性,以便将数据传递给循环; PS:下面的代码只是一个演示文稿,我不打赌它是完全正确的。 关于。 bk 例如;

foreach(FormValueData item in formValues){ 

      kkRow."AccountNumber" = item.AccountNumber 

     } 
+0

“a”序列或特定序列?在这种情况下,哪个序列?与属性的字母顺序相同? – 2010-05-21 11:51:47

+0

@顺序可能会改变顺序先生。问候。 – theklc 2010-05-21 11:57:31

回答

2

如果你想循环对象的属性,你可以使用反射来做到这一点。下面是我写的一个扩展方法,用于将一个类的实例的属性复制到同一个类的另一个实例,它可能不是您想要做的,但您应该能够为您的目的修改它

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; 
    } 
相关问题