我有一个包含字段WeekEnding1 WeekEnding2 WeekEnding3 WeekEnding4的linq2sql类
我想使用for循环中的字段来编写一些c#。
以此为例:
for(int i=1; i<=4; i++)
{
Msgbox(myClass.WeekEnding + i)
}我知道这是行不通的,但什么能行得通呢?
马尔科姆
发布于 2010-01-09 16:54:05
除非你想了解一些关于反射的东西,否则这将是:
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));但是我推荐第一种方法!第二种方法必须在每次遍历循环时找到有问题的属性,这会增加相当大的开销。
无论如何,您的底层数据模型听起来非常像是需要规范化的--这是一种常见的恶臭!
https://stackoverflow.com/questions/2032858
复制相似问题