我有一个带有函数的COM DLL,它应该返回一个依赖于传入的参数的类型的对象数组。
我知道返回类型应该是什么,但返回的是System.Object [*]
类型尽管搜索我不知道如何将其转换为有用的东西。简单地尝试转换为类型应该是“someType []”失败,同时转换为System.Object []失败。在C#中,*在这种情况下的含义是什么?
答案 0 :(得分:-2)
我假设您的意思是强制转换为System.Object [],编译时失败。尝试以这种方式进行投射:
someType[] myObj = (someType[]) (System.Object) theDllObj.theDllCall();
这是一个cast-via-Object-trick,当编译器脾气暴躁的时候,我已经多次使用过。