我有一个问题,就是在创建类型为List<MyClass01>的对象“oListType01”后,将其分配给另一个类型为“object”的对象“oObjectType”后,我不能再访问任何函数“ElementAt(1)”了。我尝试使用反射,但总是在“Invoke”方法中得到异常(参数冲突)。有人知道为什么吗? 米兰
MyClass01 oMy1 = new MyClass01();
oMy1._ID = "1";
MyClass01 oMy2 = new MyClass01();
oMy2._ID = "3";
IList<MyClass01> oListType01 = new List<MyClass01>();
oListType01.Add(oMy1);
oListType01.Add(oMy2);
object oObjectType = new object();
oObjectType = oListType01;
从这里开始,只有一个名为oObjectType的对象可用(向上发生在实际情况下的单独函数调用中)。在VS中,oObjectType显示了两个元素,我想通过反射访问它们。
MethodInfo mInfo = typeof(System.Linq.Enumerable).GetMethod("ElementAt").MakeGenericMethod(typeof(object));
object oSingleObject = mInfo.Invoke(oObjectType, new object[] { 1 });