【发布时间】:2014-11-11 16:52:25
【问题描述】:
我有一个带有函数的 COM DLL,它应该返回一个类型的对象数组,该类型依赖于传入的参数。
我知道返回类型应该是什么,但是返回的是 System.Object[*] 类型
尽管进行了搜索,但我不知道如何将其转换为有用的东西。简单地尝试转换为应该是“someType[]”的类型失败,也转换为 System.Object[] 失败。在 C# 的上下文中,* 是什么意思?
【问题讨论】:
-
请在上下文中显示。 C# 或 C++。
-
从未见过,除非
*表示dynamic。显示屏幕截图。 -
您发布了一段无效的代码,请详细说明。您的来源(文档)是什么?
-
这是一个不一致的数组,它的下限不是从 0 开始的。在 COM 中并不罕见,下一个最受欢迎的选择是 1。你必须使用 Array 类来访问数组。使用其 GetLower/UpperBound() 方法发现有效索引,使用 GetValue() 检索元素。
-
@HansPassant 是对的。我猜我不能接受评论作为答案?