想象一下,有一個類對象,就像一個Customer Class對象一樣,它有很多屬性...我有一個數組,它有一個序列中的數據。如何在一個循環中填充一個對象屬性
我想調用一個屬性,以便將數據傳遞給循環; PS:下面的代碼只是一個演示文稿,我不打賭它是完全正確的。 關於。 bk 例如;
foreach(FormValueData item in formValues){
kkRow."AccountNumber" = item.AccountNumber
}
想象一下,有一個類對象,就像一個Customer Class對象一樣,它有很多屬性...我有一個數組,它有一個序列中的數據。如何在一個循環中填充一個對象屬性
我想調用一個屬性,以便將數據傳遞給循環; PS:下面的代碼只是一個演示文稿,我不打賭它是完全正確的。 關於。 bk 例如;
foreach(FormValueData item in formValues){
kkRow."AccountNumber" = item.AccountNumber
}
如果你想循環對象的屬性,你可以使用反射來做到這一點。下面是我寫的一個擴展方法,用於將一個類的實例的屬性複製到同一個類的另一個實例,它可能不是您想要做的,但您應該能夠爲您的目的修改它
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;
}
您可以使用GetMembers
方法的類型走出成員:
http://msdn.microsoft.com/en-us/library/xdtchs6z.aspx
然後,您可以調用該方法。
這裏有一個博客貼子,討論了這一點,並有一個樣本:
http://www.dijksterhuis.org/exploring-reflection/
編輯:Ben的回答是更好的(至少如果它的所有屬性),但我會在這裏留礦情況下,信息是有用的。
「a」序列或特定序列?在這種情況下,哪個序列?與屬性的字母順序相同? – 2010-05-21 11:51:47
@順序可能會改變順序先生。問候。 – theklc 2010-05-21 11:57:31