我正在尝试执行以下操作:
下面的代码显然没有编译 - 只是寻找另一种方法来执行此操作[注意,“Facade”是有问题的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
我提出的最接近的欺骗是here,但没有最终解决方案。
提前感谢任何想法。
答案 0 :(得分:0)
好的,这有效:
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