Linq2Sql ссылается на столбец сущности путем создания переменной - PullRequest
0 голосов
/ 09 января 2010

У меня есть класс linq2sql с полями WeekEnding1 WeekEnding2 WeekEnding3 WeekEnding4

Я хочу написать несколько c #, используя поля в цикле for.

Возьмем для примера:

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

Я понимаю, что не будет работать, но что будет ??

Malcolm

1 Ответ

0 голосов
/ 09 января 2010

Если вы не хотите вдаваться во что-то с отражением, это будет:

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));

Но я бы рекомендовал первый подход! Второй подход должен находить рассматриваемое свойство при каждом прохождении цикла, добавляя значительные накладные расходы.

В любом случае ваша базовая модель данных звучит так, как будто ее нужно нормализовать - это обычный неприятный запах!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...