C # Создает общий список с отраженной информацией о типе - PullRequest
1 голос
/ 11 ноября 2009

Я пытаюсь сделать следующее:

  1. С учетом TypeInfo после отражения в объекте LINQ-to-SQL с различными дочерними коллекциями EntitySet <> получить коллекцию
  2. Выполнить некоторые операции с коллекцией

Код ниже, очевидно, не компилируется - просто ищу другой способ сделать это [Примечание: «Фасад» - это рассматриваемый объект L2S). Вещи, которые не компилируются, это использование «itemType», потому что это переменная, а не имя типа, но вы понимаете:

//itemType is the reflected Type of child object

EntitySet<itemType> list = (EntitySet<itemType>)type.InvokeMember(
                                       info.Name,
                                       BindingFlags.GetProperty,
                                       null,
                                       Facade,
                                       null);


foreach (itemType o in list)
    //do something with o

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

Заранее спасибо за любые идеи.

1 Ответ

0 голосов
/ 11 ноября 2009

Хорошо, это работает:

var list = type.InvokeMember(
                             info.Name,
                             BindingFlags.GetProperty,
                             null,
                             Facade,
                             null);

IEnumerable e = list as IEnumerable;

if (e == null)
    continue;

foreach (object o in e)
    //do stuff with o
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...