2010-01-09 136 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)); 

但我会推荐第一种方法!第二种方法必须在每次通过循环时查找有问题的属性,这会增加相当大的开销。

无论如何,您的底层数据模型听起来非常像它可能需要正常化 - 这是一种常见的难闻气味!