答案 0 :(得分:3)
您可以将其强制转换为适当的基础类型。例如,如果对象实际上是DataObject[]
的实例,您可以这样做:
DataObject[] mydataObjectArray = (DataObject[])requestedClass;
你应该全力以赴。请记住,DataObject
只是我用来说明这个概念的一个补课。无论requestedClass
最初被投射为object
之前是什么,都需要将其投射到。{1}}。
答案 1 :(得分:1)
这取决于您在编译时对对象的了解。如果你只知道它是IEnumerable<>
,你应该能够像这样投射:
object[] values = ((IEnumerable<object>)requestedClass).ToArray();
如果你也知道它总是包含Data.PROPERTYGALLERY
个对象,你可以使用更强类型的数组来转换项目:
Data.PROPERTYGALLERY[] values = ((IEnumerable<object>)requestedClass)
.Cast<Data.PROPERTYGALLERY>()
.ToArray();