PropertyInfo Sub Properties - PullRequest
       9

PropertyInfo Sub Properties

0 голосов
/ 12 июня 2009

У меня есть linq Context, который я смотрю на все таблицы данных, я пытаюсь получить список полей во всех таблицах

        foreach (var code in ctx.GetType().GetProperties())
        {
            Console.WriteLine(code.PropertyType + " - " + code.Name + " ");
            if (code.PropertyType.ToString().Contains("System.Data.Linq.Table"))
            {
                  //this does not give me what i want here
                  foreach (var pi in code.PropertyType.GetType().GetProperties())
                  {
                   Console.WriteLine(pi.Name);
                  }
            }
        }

Это не доставляет мне столбцы в каждой таблице.

Есть мысли?

упрощенно, я пытаюсь получить все свойства, когда все, что у меня есть, это свойствоInfo объекта, для которого я пытаюсь получить свойства.

-Hurricane

1 Ответ

1 голос
/ 12 июня 2009
foreach (var code in ctx.GetType().GetProperties())
        {
            Console.WriteLine(code.PropertyType + " - " + code.Name + " ");
            if (code.PropertyType.ToString().Contains("System.Data.Linq.Table"))
            {
                  //this does not give me what i want here
                  foreach (var pi in code.PropertyType.GetGenericArguments()[0].GetProperties())
                  {
                   Console.WriteLine(pi.Name);
                  }
            }
        }

Измени это на это. Вы размышляли над System.Data.Linq.Table, но помните, что свойство DataContext имеет значение Table , где T - это класс, представляющий фактическую таблицу в базе данных. Следовательно, вместо этого вам нужно подумать над буквой T.

...