读书人

在线泛型有关问题

发布时间: 2012-03-08 13:30:13 作者: rapoo

在线求助:泛型问题。
我已经通过反射得到类型实例。

Type DllType = MyAssembly.GetType( "MyClass ");
Object DllObj = Activator.CreateInstance(DllType , null);
Type OtherType = MyAssembly.GetType( "OtherClass ");
MethodInfo DllMethod= DllType.GetMethod( "DllMethod ", new Type[] { OtherType });
Object objs = (Object)DllMethod.Invoke(DllObj, new Object[] { "AllObjects "});
这个返回的objs是一个ReadOnlyCollection <OtherClass> 的集合,但是我怎么把objs这个Object类型变为ReadOnlyCollection <OtherClass> 类型呢?
我试图用ReadOnlyCollection <Object> collect = ReadOnlyCollection <Object> objs强行转换,但不行。

[解决办法]
你的DllMethod是什么?怎么写的?返回类型是什么?
[解决办法]
拜托,谁说泛型可以这样转啊……

你不是转换成ReadOnlyCollection <OtherClass> 出错么?到底是转换成什么出错!!

我看您考虑先锻炼下表达能力。
[解决办法]
ReadOnlyCollection.Count?
有这个属性吗?有的话,FOR循环,没有的话,当我接分
[解决办法]
//但是这个ReadOnlyCollection <OtherClass> 的是被封装成Object
这句话没看明白...

[解决办法]
转成IList
[解决办法]
IList objs = (IList)DllMethod.Invoke(null, new Object[] { "AllObjects "});

读书人网 >C#

热点推荐