2010-01-09 255 views
0

參照實體列我有一個字段LINQ2SQL類 WeekEnding1 WeekEnding2 WeekEnding3 WeekEnding4LINQ2SQL可變創建

我想寫使用領域的一些C#中的for循環。

藉此例如:

for(int i=1; i<=4; i++) 
{ 
    Msgbox(myClass.WeekEnding + i) 
} 

我認識到,不會工作,但會出現什麼?

馬爾科姆

回答

0

除非你想進入的東西與反思,這將:

MsgBox(myClass.WeekEnding1); 
MsgBox(myClass.WeekEnding2); 
MsgBox(myClass.WeekEnding3); 
MsgBox(myClass.WeekEnding4); 

你可以做你正在嘗試與反思做什麼的把這個內循環:

PropertyInfo info myClass.GetType() 
    .GetProperty("WeekEnding" + i.ToString(), 
     BindingFlags.Public | BindingFlags.Instance); 
MsgBox(info.GetValue(myClass, null)); 

但我會推薦第一種方法!第二種方法必須在每次通過循環時查找有問題的屬性,這會增加相當大的開銷。

無論如何,您的底層數據模型聽起來非常像它可能需要正常化 - 這是一種常見的難聞氣味!